實(shí)驗(yàn)二2輸入邏輯門(mén)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
實(shí)驗(yàn)二2輸入邏輯門(mén)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
實(shí)驗(yàn)二2輸入邏輯門(mén)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
實(shí)驗(yàn)二2輸入邏輯門(mén)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
實(shí)驗(yàn)二2輸入邏輯門(mén)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)二 2輸入邏輯門(mén)的設(shè)計(jì)與實(shí)現(xiàn)一實(shí)驗(yàn)?zāi)康?使用ise軟件設(shè)計(jì)并仿真; 2學(xué)會(huì)程序下載。 二實(shí)驗(yàn)內(nèi)容使用ise軟件進(jìn)行簡(jiǎn)單的2輸入邏輯門(mén)的設(shè)計(jì)與實(shí)現(xiàn)。三實(shí)驗(yàn)步驟1. 編寫(xiě)文本文件并編譯 2. 軟件仿真 3. 進(jìn)行硬件配置 四實(shí)驗(yàn)原理1. ise軟件是一個(gè)支持?jǐn)?shù)字系統(tǒng)設(shè)計(jì)的開(kāi)發(fā)平臺(tái)。 2. 用ise軟件進(jìn)行設(shè)計(jì)開(kāi)發(fā)時(shí)基于相應(yīng)器件型號(hào)的。 注意:軟件設(shè)計(jì)時(shí)選擇 的器件型號(hào)是與實(shí)際下載板上的器件型號(hào)相同。 3. 圖2-1所示電路包含6個(gè)不同的邏輯門(mén),本實(shí)驗(yàn)中用verilog語(yǔ)句來(lái)描述。 圖2-1 2輸入邏輯門(mén)電路(1) 新建工程雙擊桌面上“ise design suite 14.7”圖標(biāo),啟動(dòng)ise

2、軟件(也可從開(kāi)始菜單啟動(dòng))。每次打開(kāi)ise都會(huì)默認(rèn)恢復(fù)到最近使用過(guò)的工程界面。當(dāng)?shù)谝淮问褂脮r(shí),由于還沒(méi)有歷史工程記錄,所以工程管理區(qū)顯示空白。選擇file new-project選項(xiàng),在彈出的對(duì)話(huà)框中輸入工程名稱(chēng)并指定工程路徑,如圖2-2所示。圖2-2點(diǎn)擊next按鈕進(jìn)入下一頁(yè),選擇所使用的芯片及綜合、仿真工具。計(jì)算機(jī)上安裝的所有用于仿真和綜合的第三方eda工具都可以在下拉菜單中找到,如圖2-3所示。在圖中我們選用了spartan6 xc6slx16芯片,采用csg324封裝,這是nexys3開(kāi)發(fā)板所用的芯片。另外,我們選擇verilog作為默認(rèn)的硬件描述語(yǔ)言。 再點(diǎn)擊next按鈕進(jìn)入下一頁(yè),

3、這里顯示了新建工程的信息,確認(rèn)無(wú)誤后,點(diǎn)擊finish就可以建立一個(gè)完整的工程了,如圖2-4所示。圖2-3圖2-4(2) 設(shè)計(jì)輸入和代碼仿真在工程管理區(qū)任意位置單擊鼠標(biāo)右鍵,在彈出的菜單中選擇new source命令,會(huì)彈出如圖2-5所示的新建源代碼對(duì)話(huà)框,對(duì)于邏輯設(shè)計(jì),最常用的輸入方式就是hdl代碼輸入法(verilog module、vhdl module)、狀態(tài)機(jī)輸入法(state diagram )和原理圖輸入法(schematic)。這里我們選擇verilog module輸入,并輸入verilog文件名。圖2-5單擊next按鈕進(jìn)入端口定義對(duì)話(huà)框,如圖2-6所示。其中module

4、name欄用于輸入模塊名,這里是gates2,下面的列表框用于端口的定義。port name表示端口名稱(chēng),direction表示端口方向(可選擇為input、output或inout),msb表示信號(hào)最高位,lsb表示信號(hào)最低位,對(duì)于單信號(hào)的msb和lsb不用填寫(xiě)。當(dāng)然,端口定義這一步我們也可以略過(guò),在源程序中再行添加。圖2-6定義了模塊的端口后,單擊next進(jìn)入下一步,點(diǎn)擊finish完成創(chuàng)建。這樣,ise就會(huì)自動(dòng)創(chuàng)建一個(gè)verilog模塊的模板,并且在源代碼編輯區(qū)打開(kāi)。簡(jiǎn)單的注釋、模塊和端口定義已經(jīng)自動(dòng)生成,接下來(lái)的工作就是將代碼編寫(xiě)完整,如圖2-7所示。圖2-7輸入代碼后,我們還需要對(duì)模

5、塊進(jìn)行測(cè)試。在工程管理區(qū)將view設(shè)置為simulation,在任意位置單擊鼠標(biāo)右鍵,并在彈出的菜單中選擇new source,在類(lèi)型中選擇verilog test fixture,輸入測(cè)試文件名,單擊下一步。這時(shí)所有工程中的模塊名都會(huì)顯示出來(lái),我們選擇要進(jìn)行測(cè)試的模塊,如gates2模塊。點(diǎn)擊next ,再單擊finish按鈕,ise會(huì)在源代碼編輯區(qū)自動(dòng)生成測(cè)試模塊的代碼,如圖2-8所示。我們看到,ise已經(jīng)自動(dòng)生成了基本的信號(hào)并對(duì)被測(cè)模塊做了例化。我們的工作就是在initialend塊中的“/add stimulus here”后面添加測(cè)試向量。圖2-8對(duì)gates2模塊,我們可以添加如下

6、所示的測(cè)試代碼。 #200a <= 0;b <= 0;#200a <= 0;b <= 1;#200a <= 1;b <= 0;#200a <= 1;b <= 1;完成測(cè)試文件編輯后,確認(rèn)工程管理區(qū)中view選項(xiàng)設(shè)置為simulation,這時(shí)在過(guò)程管理區(qū)會(huì)顯示與仿真有關(guān)的進(jìn)程,如圖2-9中processes欄所示。右鍵單擊其中的simulate behavioral model項(xiàng),選擇彈出菜單中的process properties項(xiàng),會(huì)彈出如圖2-10所示的屬性設(shè)置對(duì)話(huà)框,其中simulation run time就是仿真時(shí)間的設(shè)置,可將其修改

7、為任意時(shí)長(zhǎng)。圖2-9圖2-10仿真參數(shù)設(shè)置完后,就可以進(jìn)行仿真。首先在工程管理區(qū)選中測(cè)試代碼,然后在過(guò)程管理區(qū)雙擊simulate behavioral model,ise將啟動(dòng)ise simulator,可以得到仿真結(jié)果,如圖2-11所示。圖2-11(3) 綜合與實(shí)現(xiàn)所謂綜合,就是將hdl語(yǔ)言、原理圖等設(shè)計(jì)輸入翻譯成由與、或、非門(mén)和ram、觸發(fā)器等基本邏輯單元的邏輯連接(網(wǎng)表),并根據(jù)目標(biāo)和要求(約束條件)優(yōu)化所生成的邏輯連接。完成了輸入和仿真后就可以進(jìn)行綜合。在工程管理區(qū)的view中選擇implementation,然后在過(guò)程管理區(qū)雙擊synthesize-xst,就可以開(kāi)始綜合過(guò)程,如圖

8、2-12所示。圖2-12另外,要實(shí)現(xiàn)設(shè)計(jì),還需要為模塊中的輸入輸出信號(hào)添加管腳約束,這就需要在工程中添加ucf文件。在工程管理區(qū)單擊鼠標(biāo)右鍵,點(diǎn)擊new source,選擇implementation- constraints file,出現(xiàn)一個(gè)空白的約束文件,我們就可以為設(shè)計(jì)添加各種約束。綜合可能有3種結(jié)果:如果綜合后完全正確,則在synthesize-xst前面有一個(gè)打勾的小圓圈;如果有警告,則出現(xiàn)一個(gè)帶感嘆號(hào)的黃色小圓圈;如果有錯(cuò)誤,則出現(xiàn)一個(gè)帶叉的紅色小圓圈。如果綜合步驟沒(méi)有語(yǔ)法錯(cuò)誤,xst能夠給出初步的資源消耗情況,點(diǎn)擊design summary,即可查看,如圖2-13所示。圖2-

9、13綜合完成后,下一個(gè)步驟就是實(shí)現(xiàn)(implementation)。所謂實(shí)現(xiàn),是指將綜合輸出的邏輯網(wǎng)表翻譯成所選器件的底層模塊和硬件原語(yǔ),將設(shè)計(jì)映射到器件結(jié)構(gòu)上,進(jìn)行布局布線(xiàn),達(dá)到在選定器件上實(shí)現(xiàn)設(shè)計(jì)的目的。實(shí)現(xiàn)主要分為3個(gè)步驟:翻譯(translate)邏輯網(wǎng)表、映射(map)到器件單元與布局布線(xiàn)(place & route)。在ise中,執(zhí)行實(shí)現(xiàn)過(guò)程,會(huì)自動(dòng)執(zhí)行翻譯、映射和布局布線(xiàn)過(guò)程:也可單獨(dú)執(zhí)行。在過(guò)程管理區(qū)雙擊implementation design選項(xiàng),就可以自動(dòng)完成實(shí)現(xiàn)的3個(gè)步驟,如圖2-14所示。如果設(shè)計(jì)沒(méi)有經(jīng)過(guò)綜合,就會(huì)啟動(dòng)xst完成綜合,在綜合后完成實(shí)現(xiàn)過(guò)程。經(jīng)過(guò)

10、實(shí)現(xiàn)后能夠得到精確的資源占用情況。在design summary即可看到具體的資源占用情況。圖2-14(4) 器件配置硬件配置是fpga開(kāi)發(fā)最關(guān)鍵的一步,只有將hdl代碼下載到fpga芯片中,才能進(jìn)行調(diào)試并最終實(shí)現(xiàn)相應(yīng)的功能。首先我們必須生成能下載到硬件中的二進(jìn)制比特文件。雙擊圖2-15所示過(guò)程管理區(qū)的generate programming file,ise就會(huì)為設(shè)計(jì)生成相應(yīng)的二進(jìn)制比特文件。圖2-15然后利用usb-miniusb纜線(xiàn),來(lái)為開(kāi)發(fā)板提供電源和數(shù)據(jù)下載。我們只需上網(wǎng)下載免費(fèi)的digilent adept軟件,即可快速實(shí)現(xiàn)nexys3開(kāi)發(fā)板上fpga的配置。用usb-minius

11、b纜線(xiàn)連接開(kāi)發(fā)板和pc,打開(kāi)開(kāi)發(fā)板的電源開(kāi)關(guān),然后啟動(dòng)digilent adept軟件。系統(tǒng)開(kāi)始自動(dòng)連接fpga設(shè)備,成功檢測(cè)到設(shè)備后,會(huì)顯示出jtag鏈上所用芯片,如圖2-16所示。圖2-16圖中顯示檢測(cè)到nexys3開(kāi)發(fā)板上的器件fpga(xc6slx16)。這里我們對(duì)fpga進(jìn)行配置。在browse中找到之前生成的設(shè)計(jì)的二進(jìn)制比特文件,并點(diǎn)擊旁邊的program按鈕,軟件就開(kāi)始對(duì)fpga進(jìn)行配置。配置成功后,下面的狀態(tài)欄會(huì)顯示programming successful,如圖2-17所示。至此,器件配置成功,我們就可以在器件上驗(yàn)證預(yù)期的設(shè)計(jì)有沒(méi)有很好的得以實(shí)現(xiàn)。圖2-17五實(shí)驗(yàn)結(jié)論補(bǔ)充:

12、(僅供參考) 1. 2輸入邏輯門(mén)的verilog源代碼 module gates2( input wire a, input wire b, output wire5:0z ); assign z5 = a&b; assign z4 = (a&b); assign z3 = a|b; assign z2 = (a|b); assign z1 = ab; assign z0 = ab; endmodule2. 2輸入邏輯門(mén)的約束文件 net "a" loc = "t5" net "b" loc = "v8" net "z0" loc = "t11" net "z1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論