![數(shù)字電路與邏輯設(shè)計(jì)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/de992e85-e828-4307-9d82-fe092e4a85f4/de992e85-e828-4307-9d82-fe092e4a85f41.gif)
![數(shù)字電路與邏輯設(shè)計(jì)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/de992e85-e828-4307-9d82-fe092e4a85f4/de992e85-e828-4307-9d82-fe092e4a85f42.gif)
![數(shù)字電路與邏輯設(shè)計(jì)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/de992e85-e828-4307-9d82-fe092e4a85f4/de992e85-e828-4307-9d82-fe092e4a85f43.gif)
![數(shù)字電路與邏輯設(shè)計(jì)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/de992e85-e828-4307-9d82-fe092e4a85f4/de992e85-e828-4307-9d82-fe092e4a85f44.gif)
![數(shù)字電路與邏輯設(shè)計(jì)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/de992e85-e828-4307-9d82-fe092e4a85f4/de992e85-e828-4307-9d82-fe092e4a85f45.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 數(shù)字電路與邏輯設(shè)計(jì) 實(shí) 驗(yàn) 指 導(dǎo) 書(shū) 林文忠、羅海波 編 寫(xiě) 適用專(zhuān)業(yè):_計(jì)算機(jī)科學(xué)與技術(shù)_ &
2、#160; 閩江學(xué)院_計(jì)算機(jī)科學(xué) 系2010年 9 月 前 言 數(shù)字電路與邏輯設(shè)計(jì)主要包括邏輯代數(shù)的基本理論、組合邏輯電路、時(shí)序邏輯電路及其可編程邏輯器件和存儲(chǔ)器原理等內(nèi)容。通過(guò)本課程的學(xué)習(xí),要求學(xué)生建立基本的邏輯代數(shù)的
3、思維方法,掌握常用的組合/時(shí)序邏輯電路MSI器件及其分析和設(shè)計(jì),掌握可編程邏輯器件的概念和設(shè)計(jì)方法,了解存儲(chǔ)器的結(jié)構(gòu)和原理。 為了使學(xué)生更好地理解和深刻地把握這些知識(shí),增強(qiáng)學(xué)生的實(shí)踐動(dòng)手能力,本實(shí)驗(yàn)部分主要培養(yǎng)學(xué)生的邏輯代數(shù)思維以及電路的設(shè)計(jì)和設(shè)計(jì)能力,鍛煉學(xué)生的Verilog HDL的應(yīng)用編程開(kāi)發(fā)能力,讓學(xué)生對(duì)CPLD的開(kāi)發(fā)過(guò)程、開(kāi)發(fā)步驟有一個(gè)詳盡的理解,也讓學(xué)生理解CPLD編程與數(shù)字電路之間的關(guān)系。 本指導(dǎo)書(shū)為數(shù)字電路與邏輯設(shè)計(jì)理論課程
4、配套實(shí)驗(yàn)的一部分,即擴(kuò)展的CPLD編程實(shí)驗(yàn)部分,另外的基礎(chǔ)部分不包括在此指導(dǎo)書(shū)之內(nèi)。 本實(shí)驗(yàn)指導(dǎo)書(shū)針對(duì)計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)而編寫(xiě),由于課時(shí)及難度要求的不一致,與通信工程專(zhuān)業(yè)的數(shù)字電路課程的擴(kuò)展CPLD實(shí)驗(yàn)部分有部分不一致,本指導(dǎo)書(shū)對(duì)其進(jìn)行了縮減和綜合,以適合計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)使用。 目 錄1、實(shí)驗(yàn)一:Quartus II的安裝及實(shí)驗(yàn)平臺(tái)、開(kāi)發(fā)語(yǔ)言的熟悉12、實(shí)驗(yàn)二:累加器的開(kāi)發(fā)73、實(shí)驗(yàn)報(bào)告基本內(nèi)容要求10實(shí)驗(yàn)一:Quartus II的安裝及實(shí)驗(yàn)平臺(tái)、開(kāi)發(fā)語(yǔ)言的熟悉實(shí)驗(yàn)學(xué)時(shí):2實(shí)驗(yàn)類(lèi)型:驗(yàn)證實(shí)驗(yàn)要求
5、:必修一、實(shí)驗(yàn)?zāi)康?1) 學(xué)會(huì)安裝Quartus II 7.2開(kāi)發(fā)軟件。(2) 熟悉DP-MCU/Altera實(shí)驗(yàn)儀。(3) 熟悉基本的Verilog HDL語(yǔ)法及編程。(需提前預(yù)習(xí))。(4) 熟悉開(kāi)發(fā)平臺(tái)編譯、仿真、下載,到調(diào)試的整個(gè)開(kāi)發(fā)過(guò)程。二、實(shí)驗(yàn)內(nèi)容(1) 熟悉DP-MCU/Altera實(shí)驗(yàn)儀,熟悉開(kāi)發(fā)板的硬件環(huán)境。(2) 安裝Quartus II 7.2開(kāi)發(fā)軟件,熟悉Verilog HDL語(yǔ)言的開(kāi)發(fā)軟件環(huán)境。(3) 通過(guò)基本的輸入輸出輸出實(shí)驗(yàn)(點(diǎn)亮發(fā)光二極管等)熟悉實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)流程。(4) 熟悉Verilog HDL語(yǔ)言的基本語(yǔ)法和使用。(預(yù)習(xí)完成)三、實(shí)驗(yàn)原理、方法和手段教師演示,
6、學(xué)生自主驗(yàn)證操作。四、實(shí)驗(yàn)組織運(yùn)行要求采用集中授課形式。五、實(shí)驗(yàn)條件(1)每2位同學(xué)為1組,每組一臺(tái)PC機(jī)、一臺(tái)DP-MCU/Altera實(shí)驗(yàn)儀。(2)配套的軟硬件設(shè)備:并口JTAG下載線、Quartus II 7.2安裝程序等。六、實(shí)驗(yàn)步驟(一)熟悉DP-MCU/Altera實(shí)驗(yàn)儀在老師的指導(dǎo)下,參考單片機(jī)與CPLD綜合應(yīng)用技術(shù)第2.2節(jié)內(nèi)容,對(duì)DP-MCU/Altera實(shí)驗(yàn)儀的硬件資源、結(jié)構(gòu)、布局進(jìn)行熟悉。(1)電路布局(2)主要器件:CPLD芯片EPM7128-84、+5V電源供應(yīng)芯片LM7805、8位單片機(jī)P89C61X2、4個(gè)與非門(mén)芯片74HC00、4位8段共陽(yáng)極數(shù)碼管LN3461、
7、紅外光電發(fā)射接收器OPTOIS01、256B IIC接口E2PROM芯片24WC02、RS-232接口器件MAX232、IIC接口時(shí)鐘芯片PCF8563T、無(wú)源蜂鳴器BUZZER、8個(gè)按鍵、復(fù)位按鈕、8個(gè)LED、LED指示燈、晶振。(3)應(yīng)用接口:詳見(jiàn)單片機(jī)與CPLD綜合應(yīng)用技術(shù)表2.2(4)跳線接口:JP1: 單片機(jī)與CPLD連接跳線接口JP2: CPLD與LED和數(shù)碼管連接跳線接口JP3: CPLD與鍵盤(pán)等連接跳線接口JP4: CPLD與IIC和時(shí)鐘等連接跳線接口J5: 單片機(jī)仿真電源選擇跳線接口(4)硬件原理分析(詳見(jiàn)單片機(jī)與CPLD綜合應(yīng)用技術(shù)2.3節(jié))(二)安裝Quartus II
8、7.2開(kāi)發(fā)軟件在老師的指導(dǎo)下,安裝Quartus II 7.2軟件,并進(jìn)行運(yùn)行,熟悉軟件的界面以及相關(guān)的工具和功能等。詳細(xì)步驟及界面介紹略。三、實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)流程的熟悉 1. 基本輸出實(shí)驗(yàn) 點(diǎn)亮發(fā)光二極管要求:點(diǎn)亮DP-MCU/Altera實(shí)驗(yàn)儀上的4個(gè)發(fā)光二極管(分別是L2、L4、L6、L8)。通過(guò)此實(shí)驗(yàn)掌握CPLD的基本開(kāi)發(fā)流程,軟硬件設(shè)計(jì)步驟。分析:在DP-MCU/Altera實(shí)驗(yàn)儀上已經(jīng)為用戶準(zhǔn)備了8個(gè)發(fā)光二極管L1L8,其硬件原理圖如下圖1所示,在DP-MCU/Altera實(shí)驗(yàn)儀中,標(biāo)號(hào)LED1LED8通過(guò)跳線JP2分別與芯片的30、31、3337和39引腳相連,只要正確分配并鎖定引腳
9、后,在相應(yīng)的引腳上輸出低電平“0”,就可以實(shí)現(xiàn)點(diǎn)亮該發(fā)光二極管的功能。圖1 發(fā)光二極管原理圖程序設(shè)計(jì):由于要求是點(diǎn)亮4個(gè)發(fā)光二極管,因此只須在相應(yīng)的引腳輸出低電平“0”即可,完整的Verilog HDL源程序如下:實(shí)驗(yàn)方法:1)建立項(xiàng)目工程led,并在此工程項(xiàng)目下新建Verilog HDL源程序文件led.v,輸入上面的程序代碼并保存。2)為該工程項(xiàng)目選擇一個(gè)目標(biāo)器件并對(duì)相應(yīng)的引腳進(jìn)行鎖定,在此所選擇的器件應(yīng)該是Altera公司的EPM7128SLC84-10芯片,引腳鎖定方法如下表1所示。表1 led實(shí)驗(yàn)引腳鎖定方法引腳信號(hào)引腳信號(hào)30ledout035ledout431ledout136l
10、edout533ledout237ledout634ledout339ledout73)對(duì)該工程文件進(jìn)行編譯處理,若在編譯過(guò)程中發(fā)現(xiàn)錯(cuò)誤,則找出并更正錯(cuò)誤,直到編譯成功為止。4)拿出跳線短接帽并跳到合適的位置,使LED1LED8分別與引腳30、31、3337和39相連。拿出JTAG下載電纜,并將此電纜的兩端分別接到PC機(jī)和DP-MCU/Altera實(shí)驗(yàn)儀的JTAG下載接口上,打開(kāi)工作電源,執(zhí)行下載命令,把程序下載到DP-MCU/Altera實(shí)驗(yàn)儀的EPM7128SLC84-10芯片中,此時(shí),DP-MCU/Altera實(shí)驗(yàn)儀的L2、L4、L6、L8將被點(diǎn)亮。2. 基本輸入/ 輸出實(shí)驗(yàn) 基本邏輯門(mén)
11、實(shí)驗(yàn) 要求:在DP-MCU/Altera實(shí)驗(yàn)儀上完成F=AB的邏輯功能。 分析:在DP-MCU/Altera實(shí)驗(yàn)儀上為用戶準(zhǔn)備了8個(gè)輸入按鍵,其硬件原理圖如圖2所示。在DP-MCU/Altera實(shí)驗(yàn)儀上,標(biāo)號(hào)KEY1KEY8通過(guò)跳線JP3分別與芯片的5658、60和6365引腳相連,這樣用戶可以把健K1、K2當(dāng)做輸入A、B,而F可以用L1發(fā)光二極管來(lái)表示。圖1 鍵盤(pán)原理圖 程序設(shè)計(jì): Verilog HDL源程序如下: 實(shí)驗(yàn)方法: 1)建立項(xiàng)目工程fab,并在此工程項(xiàng)目下新建Verilog HDL源程序文件fab.v,輸入上面的程序代碼并保存。 2)為該工程項(xiàng)目選擇一個(gè)目標(biāo)器件并對(duì)相應(yīng)的引腳進(jìn)
12、行鎖定,在此所選擇的器件應(yīng)該是Altera公司的EPM7128SLC84-10芯片,引腳鎖定方法如下表2所示。表2 基本邏輯門(mén)實(shí)驗(yàn)引腳鎖定方法引腳信號(hào)56a57b30f3)對(duì)該工程文件進(jìn)行編譯處理,若在編譯過(guò)程中發(fā)現(xiàn)錯(cuò)誤,則找出并更正錯(cuò)誤,直到編譯成功為止。4)拿出跳線短接帽并跳到適當(dāng)位置,使K1和K2分別與引腳56和57腳相連,而LED1與30腳相連。拿出JTAG下載電纜,并將此電纜的兩端分別接到PC機(jī)和DP-MCU/Altera實(shí)驗(yàn)儀的JTAG下載接口上,打開(kāi)工作電源,執(zhí)行下載命令,把程序下載到DP-MCU/Altera實(shí)驗(yàn)儀的EPM7128SLC84-10芯片中。5)觀察發(fā)光管L1的亮滅
13、狀態(tài),按下K1按鍵,再次觀察發(fā)光管的狀態(tài),此時(shí)為什么發(fā)光管L1亮了呢?七、思考題1)為什么將EPM7128SLC84-10的引腳設(shè)置為“0”,對(duì)應(yīng)連接的LED將被點(diǎn)亮?修改程序,點(diǎn)亮DP-MCU/Altera實(shí)驗(yàn)儀的L1、L3、L5、L7。 2)實(shí)現(xiàn)F = A +B的邏輯功能,并使用K1、K2和LED1輸入控制和輸出顯示體現(xiàn)邏輯或的功能。3)請(qǐng)課前課后學(xué)習(xí)Verilog HDL語(yǔ)言。見(jiàn)附錄一:Verilog HDL語(yǔ)言的基本知識(shí)八、實(shí)驗(yàn)報(bào)告要求及格式見(jiàn)本手冊(cè)末尾說(shuō)明。九、其它說(shuō)明本實(shí)驗(yàn)主要初步認(rèn)識(shí)實(shí)驗(yàn)平臺(tái),軟硬件資源。特別要注意的是:開(kāi)發(fā)板上的+5V電源接口不能使用短路冒與地(GND)進(jìn)行短接
14、,否則將燒壞電源和開(kāi)發(fā)板。 實(shí)驗(yàn)二:累加器的的開(kāi)發(fā)實(shí)驗(yàn)學(xué)時(shí):2實(shí)驗(yàn)類(lèi)型:驗(yàn)證實(shí)驗(yàn)要求:必修一、實(shí)驗(yàn)?zāi)康?1) 理解累加器的原理。(2) 熟悉累加器的Verilog HDL編程、仿真和調(diào)試。二、實(shí)驗(yàn)內(nèi)容(1) 4位累加器的開(kāi)發(fā)及仿真。(2) 3位累加器的開(kāi)發(fā)及下載運(yùn)行。三、實(shí)驗(yàn)原理、方法和手段教師演示,學(xué)生自主驗(yàn)證操作。四、實(shí)驗(yàn)組織運(yùn)行要求采用集中授課形式。五、實(shí)驗(yàn)條件(1)每2位同學(xué)為1組,每組一臺(tái)PC機(jī)、一臺(tái)DP-MCU/Altera實(shí)驗(yàn)儀。(2)配套的軟硬件設(shè)備:并口JTAG下載線、Quartus II 7.2安裝程序等。六、實(shí)驗(yàn)步驟(一)4位累加器的開(kāi)發(fā)及仿真要求:實(shí)現(xiàn)帶低位進(jìn)位、向高位
15、進(jìn)位功能的4位累加器并進(jìn)行仿真。分析:4位累加器是一種組合邏輯電路,Verilog HDL語(yǔ)言實(shí)現(xiàn)方法較多,其中一種較為簡(jiǎn)單的實(shí)現(xiàn)源代碼如下:請(qǐng)自行分析源代碼。實(shí)驗(yàn)方法:1)建立項(xiàng)目工程add4,并在此工程項(xiàng)目下新建Verilog HDL源程序文件add4.v,輸入上面的程序代碼并保存。2)對(duì)該工程文件進(jìn)行編譯處理,若在編譯過(guò)程中發(fā)現(xiàn)錯(cuò)誤,則找出并更正錯(cuò)誤,直到編譯成功為止。3)創(chuàng)建仿真波形文件,對(duì)4位累加器的邏輯功能進(jìn)行仿真。4)根據(jù)仿真波形文件,分析4位累加器的邏輯功能是否符合預(yù)期。(二)3位累加器的開(kāi)發(fā)及下載運(yùn)行要求:實(shí)現(xiàn)帶低位進(jìn)位、向高位進(jìn)位功能的3位累加器并進(jìn)行下載運(yùn)行。分析:3位累
16、加器是一種組合邏輯電路,Verilog HDL語(yǔ)言實(shí)現(xiàn)方法較多,其中一種較為簡(jiǎn)單的實(shí)現(xiàn)源代碼如下:請(qǐng)自行分析源代碼。本實(shí)驗(yàn)為驗(yàn)證累加器的邏輯功能,使用按鍵控制累加輸入,使用LED觀察累加結(jié)果輸出。實(shí)驗(yàn)方法:1)建立項(xiàng)目工程add3,并在此工程項(xiàng)目下新建Verilog HDL源程序文件add3.v,輸入上面的程序代碼并保存。2)為該工程項(xiàng)目選擇一個(gè)目標(biāo)器件并對(duì)相應(yīng)的引腳進(jìn)行鎖定,在此所選擇的器件應(yīng)該是Altera公司的EPM7128SLC84-10芯片,引腳鎖定方法如下表1所示。表1 led實(shí)驗(yàn)引腳鎖定方法引腳(對(duì)應(yīng)的按鍵)信號(hào)引腳(對(duì)應(yīng)的LED)信號(hào)56(KEY1)a230(LED1)cout
17、57(KEY2)a131(LED2)c258(KEY3)a033(LED3)c160(KEY4)b234(LED4)c061(KEY5)b163(KEY6)b064(KEY7)cin3)對(duì)該工程文件進(jìn)行編譯處理,若在編譯過(guò)程中發(fā)現(xiàn)錯(cuò)誤,則找出并更正錯(cuò)誤,直到編譯成功為止。4)拿出短路帽短接KEY1KEY7與芯片引腳的連接跳線,LED1LED4與芯片引腳的連接跳線。拿出JTAG下載電纜,并將此電纜的兩端分別接到PC機(jī)和DP-MCU/Altera實(shí)驗(yàn)儀的JTAG下載接口上,打開(kāi)工作電源,執(zhí)行下載命令,把程序下載到DP-MCU/Altera實(shí)驗(yàn)儀的EPM7128SLC84-10芯片中。5)觀察發(fā)光管
18、LED1LED4的亮滅狀態(tài),分析所出現(xiàn)的亮滅狀態(tài)的原因,隨機(jī)按下KEY1KEY7某個(gè)按鈕或組合按下某些按鈕,觀察LED1LED4的亮滅狀態(tài),分析所出現(xiàn)的亮滅狀態(tài)的原因。6)根據(jù)5),總結(jié)心得體會(huì)。七、思考題無(wú)八、實(shí)驗(yàn)報(bào)告要求及格式見(jiàn)本手冊(cè)末尾說(shuō)明。九、其它說(shuō)明開(kāi)發(fā)板上的+5V電源接口不能使用短路冒與地(GND)進(jìn)行短接,否則將燒壞電源和開(kāi)發(fā)板。學(xué)生實(shí)驗(yàn)報(bào)告基本內(nèi)容要求 學(xué)生實(shí)驗(yàn)報(bào)告應(yīng)事先準(zhǔn)備好,用來(lái)做預(yù)習(xí)報(bào)告、實(shí)驗(yàn)記錄和實(shí)驗(yàn)報(bào)告。1、實(shí)驗(yàn)預(yù)習(xí) 在實(shí)驗(yàn)前每位同學(xué)都需要對(duì)本次實(shí)驗(yàn)進(jìn)行認(rèn)真的預(yù)習(xí),并寫(xiě)好預(yù)習(xí)
19、報(bào)告,在預(yù)習(xí)報(bào)告中要寫(xiě)出實(shí)驗(yàn)?zāi)康摹⒁?,需要用到的儀器設(shè)備、物品資料以及簡(jiǎn)要的實(shí)驗(yàn)步驟,形成一個(gè)操作提綱。對(duì)實(shí)驗(yàn)中的安全注意事項(xiàng)及可能出現(xiàn)的現(xiàn)象等做到心中有數(shù),但這些不要求寫(xiě)在預(yù)習(xí)報(bào)告中。 設(shè)計(jì)性實(shí)驗(yàn)要求進(jìn)入實(shí)驗(yàn)室前寫(xiě)出實(shí)驗(yàn)方案,并經(jīng)指導(dǎo)教師審閱后實(shí)施。2、實(shí)驗(yàn)記錄 學(xué)生開(kāi)始實(shí)驗(yàn)時(shí),應(yīng)該將記錄本放在近旁,將實(shí)驗(yàn)中所做的每一步操作、觀察到的現(xiàn)象和所測(cè)得的數(shù)據(jù)及相關(guān)條件如實(shí)地記錄下來(lái)。
20、 實(shí)驗(yàn)記錄中應(yīng)有指導(dǎo)教師的簽名。3、實(shí)驗(yàn)報(bào)告 主要內(nèi)容包括對(duì)實(shí)驗(yàn)數(shù)據(jù)、實(shí)驗(yàn)中的特殊現(xiàn)象、實(shí)驗(yàn)操作的成敗、實(shí)驗(yàn)的關(guān)鍵點(diǎn)等內(nèi)容進(jìn)行整理、解釋、分析總結(jié),回答思考題,提出實(shí)驗(yàn)結(jié)論或提出自己的看法等。附錄一:Verilog HDL語(yǔ)言基本知識(shí)(一)學(xué)習(xí)以下例程:module muxtwo(out, a, b, s1);input a, b, s1; output out; reg out; always (s1 or a or b)if( !s1 ) out = a; else ou
21、t = b;endmodule以上程序段完成了二選一數(shù)據(jù)選擇器,從以上例程擴(kuò)展學(xué)習(xí)Verilog HDL語(yǔ)言的基本語(yǔ)法。(二)Verilog HDL語(yǔ)言基本語(yǔ)法的學(xué)習(xí):(1)數(shù)據(jù)常量 - Verilog HDL中共有19種數(shù)據(jù)類(lèi)型。1 數(shù)字整數(shù) 二進(jìn)制數(shù)(b或B) 十進(jìn)制數(shù)(d或D) 十六進(jìn)制數(shù)(h或H) 八進(jìn)制數(shù)(o或O)數(shù)字的三種表達(dá)方式:<位寬><進(jìn)制><數(shù)字> - 全面的描述方式<進(jìn)制><數(shù)字> - 默認(rèn)位寬,至少32位<數(shù)字>- 默認(rèn)位寬與進(jìn)制(十進(jìn)制)examples:8'b101011008'
22、ha2x 與 z - x代表不定值;z(?)代表高阻值examples:4'b10x04'b101z12'dz12'd?8'h4x負(fù)數(shù) - 在位寬表達(dá)式前加一個(gè)減號(hào)(-),減號(hào)必須放在數(shù)字定義表達(dá)式的最前面。 examples:-8'd5 /ok8'd-5 /not ok!下劃線 - 用來(lái)分割數(shù)字的表達(dá),提高程序的可讀性,只能用在具體的數(shù)字之間。examples:16'b1010_1111_1001_0001 /OK8'b_1001_1111 / not ok!note:常量不說(shuō)明位數(shù)的時(shí)候,默認(rèn)為32位,每個(gè)字母用8位的
23、ASCII碼值表示2 參數(shù)型(parameter) - 用parameter來(lái)定義常量,稱(chēng)為符號(hào)常量,可提高程序的可讀性與可維護(hù)性。格式:parameter 參數(shù)名1 = 表達(dá)式,參數(shù)名2 = 表達(dá)式,. ,參數(shù)名n = 表達(dá)式; note:表達(dá)式必須是常數(shù)表達(dá)式!舉例:parameter msb = 7;parameter byte_size=8,byte_msb=byte_size-1;note:parameter所定義的常量必須是值可以確定的。(2)變量類(lèi)型1. wire型- 常用來(lái)表示用于以assign關(guān)鍵字指定的組合邏輯信號(hào)- 默認(rèn)的類(lèi)型wire a; / 1個(gè)1位wire7:0 b
24、; /1個(gè)8位wire4:1 c,d; /2個(gè)4位2. reg型- 存儲(chǔ)數(shù)據(jù)單元的抽象- always塊內(nèi)被賦值的每一個(gè)信號(hào)都必須為reg型(reg只表示被定義的信號(hào)將用在alway塊內(nèi))- 默認(rèn)初始值為不定值:x reg rega;reg3:0 regb;reg4:1 regc,regd;3. memory型- 通過(guò)對(duì)reg型變量建立數(shù)組,用于對(duì)存儲(chǔ)器建模reg7:0 mega255:0; - mega存儲(chǔ)器,有256個(gè)8bit單元,地址范圍為0255思考:regn-1:0 rega; 與 reg megan-1:0的區(qū)別?(3)結(jié)構(gòu)說(shuō)明語(yǔ)句verilog HDL語(yǔ)言中的任何過(guò)程模塊都從屬于
25、以下4種結(jié)構(gòu)的說(shuō)明語(yǔ)句:- initial /開(kāi)始時(shí)立即執(zhí)行,且只執(zhí)行一次- always /開(kāi)始時(shí)立即執(zhí)行,直到仿真介紹- task- function /task和function語(yǔ)句可以在程序模塊中的一處或多處調(diào)用(3.1)always語(yǔ)句- 仿真過(guò)程中不斷活躍著- 其后的過(guò)程快是否執(zhí)行取決于它的觸發(fā)條件是否滿足聲明格式always <時(shí)序控制> <語(yǔ)句> note: always語(yǔ)句需要時(shí)序控制配合,否則會(huì)出現(xiàn)仿真死鎖。例1always areg = areg; /零延遲的無(wú)限循環(huán)跳變例2always #10 areg = areg; /周期為20的無(wú)限延續(xù)信號(hào)
26、例3reg7:0 counter;ret tick; always (posedge areg) /上升沿激勵(lì) begin tick = tick; counter = counter + 1; end例4 always (posedge clock or posegde reset) /上升沿 clock or reset激勵(lì) begin . end例5 always (a or b or c) /多個(gè)電平激勵(lì) begin . end- 沿觸發(fā)的always塊常常描述時(shí)序行為- 電平觸發(fā)的always塊常常描述組合邏輯行為又一個(gè)verilog HDL實(shí)例:module muxtwo(out,
27、 a, b, s1);input a, b, s1;output out; not u1(ns1, s1); and #1u2(sela, a, ns1); and #1u3(selb, b, s1); or #2 u4(out, sela, selb);endmodule模塊中的邏輯功能可以通過(guò)以下3種方法實(shí)現(xiàn):1. assign聲明語(yǔ)句 assign a = b & c;2. 用實(shí)例元件 and #2 u1(q, a, b); /要求元件名唯一3. 用always塊note:assign是描述組合邏輯的常用方法,always塊可用于組合邏輯和時(shí)序邏輯。(4)等式運(yùn)算符= = 、 =
28、 = = /等于!=、 != = /不等于 examples:if(A = 1'bx) $display("AisX");/當(dāng)A為X時(shí),這個(gè)語(yǔ)句也不執(zhí)行!if(A = 1'bx) $display("AisX");/當(dāng)A為X時(shí),這個(gè)語(yǔ)句執(zhí)行?。?)移位運(yùn)算符<<、>> - 用0填補(bǔ)由于移位造成的空位examples:4'b1001<<1 = ? 4'b1001<<2 = ?4'b1001>>1 = ? 4'b1001>>4 = ?1&l
29、t;<6 = ?(6)位拼接運(yùn)算符 可以把2個(gè)或多個(gè)信號(hào)的某些位拼接起來(lái)進(jìn)行運(yùn)算格式:信號(hào)1的某幾位, 信號(hào)2的某幾位, ., 信號(hào)n的某幾位note:不允許存在沒(méi)有指明位數(shù)的信號(hào),位寬必須明確examples:a,b3:0,w,3'b101a,b2,b1,b0,w,1'b1,1'b0,1'b14w = w,w,w,w /重復(fù)縮寫(xiě)形式b,3a,b = b,a,b,a,b,a,b /嵌套形式(7)縮減運(yùn)算符- 單目運(yùn)算符- 最后的運(yùn)算結(jié)果是1位- 先第一位與第二位與或,接著第二位與第三位。reg3:0 B;reg C;C = &B;C = (B0 &
30、amp; B1) & B2) & B3;(8)賦值語(yǔ)句與塊語(yǔ)句(8.1)信號(hào)的兩種不同的賦值方式:1. 非阻塞賦值方式(b <= a) - 塊結(jié)束后才完成賦值操作 - b的值不是立即改變的 - 比較常用的賦值方法note:注意與比較運(yùn)算符"<="區(qū)別開(kāi)來(lái)2. 阻塞賦值方式(b = a) - 先賦值,塊才結(jié)束 - b的值是立即改變的 - 可能會(huì)產(chǎn)生意想不到的結(jié)果note:在always塊內(nèi)給reg信號(hào)賦值時(shí),采用哪種方式尤其要注意舉例說(shuō)明以上區(qū)別如下:always (posedge clk) begin b <= a; c <= b;e
31、nd/clk到來(lái),b為a,c為b(c保持原來(lái)的b值)always (posedge clk) begin b = a; c = b;end/clk到來(lái),b、c同時(shí)變化為a(8.2)塊語(yǔ)句 - 將多條語(yǔ)句組合在一起,整體化 - 2種類(lèi)別:順序塊begin_end; 并行塊fork_join舉例如下:parameter d = 50; reg7:0 r;begin#d r = 'h35;#d r = 'hE2;#d r = 'h00;#d r = 'hF7;#d ->end_wave; /觸發(fā)事件end_waveend并行塊 - 塊內(nèi)語(yǔ)句是同時(shí)執(zhí)行的 - 所有
32、語(yǔ)句的基準(zhǔn)時(shí)間是進(jìn)入塊語(yǔ)句的時(shí)間點(diǎn) - 延遲時(shí)間可對(duì)賦值語(yǔ)句進(jìn)行時(shí)序控制 - 當(dāng)時(shí)序最后的一條語(yǔ)句執(zhí)行完,或者調(diào)用disable語(yǔ)句時(shí),程序流跳出塊舉例如下:fork#50 r = 'h35;#100 r = 'hE2;#150 r = 'h00;#200 r = 'hF7;#250 ->end_wave; /觸發(fā)事件end_wavejoinnote:順序塊和并行塊的起始時(shí)間和結(jié)束時(shí)間;并行塊中語(yǔ)句的順序可隨意。(9) 條件語(yǔ)句(if-else、case)case 格式:1. case(表達(dá)式) <case分支項(xiàng)> endcase2. case
33、z(表達(dá)式) <case分支項(xiàng)> endcase2. casex(表達(dá)式) <case分支項(xiàng)> endcasecase分支項(xiàng)的一般格式: 分支項(xiàng)表達(dá)式: 語(yǔ)句; default: 語(yǔ)句 /可有可無(wú)reg15:0 rega;reg9:0 result;case(rega) 16'd0: result = 10'b0111_1111; 16'd1: result = 10'b1011_1111; 16'd2: result = 10'b1101_1111; default: result = 10'bx;endcesenote:1. case項(xiàng)分支表達(dá)式必須不同2. 執(zhí)行完某個(gè)case分支,即跳出case語(yǔ)句結(jié)構(gòu)3. 分支表達(dá)式的值要明確相等才會(huì)執(zhí)行4. 位寬必須相等表1 case、casez和casex的真值表(10)循環(huán)語(yǔ)句forever:連續(xù)的執(zhí)行語(yǔ)句repeat:執(zhí)行n次while:條件滿足則執(zhí)行for:分3步走note:for語(yǔ)句的變量增加不能用“+”(10.1)forever:連續(xù)的執(zhí)行語(yǔ)句格式: forever 語(yǔ)句;note:常用于產(chǎn)生周期性的波形,作為仿真測(cè)試信號(hào),與always的不同之處在于:不能獨(dú)立寫(xiě)在程序中,而必須寫(xiě)在initial塊中。(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年山東公務(wù)員考試申論試題(B卷)
- 系統(tǒng)設(shè)備安裝工作承攬合同(3篇)
- 2025年崗?fù)べ?gòu)買(mǎi)合同示范文本
- 2025年協(xié)調(diào)解除合同指導(dǎo)
- 2025年工程勘察服務(wù)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2025年企業(yè)零成本用車(chē)服務(wù)合同范本
- 2025年苯噻草胺項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模式
- 2025年二手奢侈品交易平臺(tái)合作協(xié)議
- 2025年協(xié)議書(shū)保證金實(shí)務(wù)指導(dǎo)
- 2025年體育場(chǎng)館租賃預(yù)付款協(xié)議
- 電氣工程及其自動(dòng)化基礎(chǔ)知識(shí)單選題100道及答案解析
- 物聯(lián)網(wǎng)工程導(dǎo)論
- 《綜合能源系統(tǒng)信息模型技術(shù)規(guī)范》
- 慢性病患者門(mén)診身份管理方案
- 學(xué)校安全干事述職
- 2025年高考英語(yǔ)一輪復(fù)習(xí)講義(新高考)第2部分語(yǔ)法第23講狀語(yǔ)從句(練習(xí))(學(xué)生版+解析)
- 路橋工程檢測(cè)技術(shù) 課件 1公路工程試驗(yàn)檢測(cè)管理
- NB/T 11459-2023煤礦井下直流電法勘探規(guī)程
- 2025高中物理《課時(shí)作業(yè)》人教版選擇性必修第1冊(cè)課時(shí)分層作業(yè)(八)
- 十七個(gè)崗位安全操作規(guī)程手冊(cè)
- 爆花(2023年陜西中考語(yǔ)文試卷記敘文閱讀題及答案)
評(píng)論
0/150
提交評(píng)論