排隊(duì)電路的EDA課程設(shè)計(jì)報(bào)告_第1頁
排隊(duì)電路的EDA課程設(shè)計(jì)報(bào)告_第2頁
排隊(duì)電路的EDA課程設(shè)計(jì)報(bào)告_第3頁
排隊(duì)電路的EDA課程設(shè)計(jì)報(bào)告_第4頁
排隊(duì)電路的EDA課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上華東交通大學(xué)電氣與電子工程學(xué)院EDA語言與VHDL課程設(shè)計(jì)報(bào)告課題名稱: 排隊(duì)電路 姓 名: 學(xué) 號(hào): 專業(yè)班級(jí): 系 ( 院): 電氣與電子工程學(xué)院 指導(dǎo)老師: 設(shè)計(jì)時(shí)間: 2012年12月24日 設(shè)計(jì)地點(diǎn): 三樓電子測(cè)控實(shí)驗(yàn)室 專心-專注-專業(yè)目 錄 1、電路要求.12、排隊(duì)電路的分布.13、VHDL程序模塊描述.3 進(jìn)程p1.3進(jìn)程p2.5進(jìn)程p3.5進(jìn)程p4.5進(jìn)程p5.6進(jìn)程p6.6進(jìn)程p7.6進(jìn)程p8.8.8(一)波形仿真圖設(shè)置.8(1) Waiter=1的波形圖.8(2) Waiter=0的波形圖.8(3) 管腳綁定.9.9四:課設(shè)收獲與體會(huì).10參考文

2、獻(xiàn).11附錄.12一:排 隊(duì) 電 路 分 析1、 電路要求單窗口排隊(duì)機(jī)電路,給每個(gè)新來者編號(hào),并計(jì)算隊(duì)伍長度。(1) 進(jìn)隊(duì)、離隊(duì)兩個(gè)信號(hào)作為輸入,當(dāng)前服務(wù)號(hào)碼和隊(duì)長各由4個(gè)數(shù)碼管顯示;(2) 初始時(shí)隊(duì)長0,進(jìn)隊(duì)號(hào)碼由1順序遞增,輸出編號(hào);(3) 有人入隊(duì),長度加,有人離隊(duì)長度減;(4) 工作時(shí)鐘適當(dāng)即可;(5) 完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、約束與綜合、布局布線、時(shí)序仿真、下載驗(yàn)證等。2、 排隊(duì)電路的分布實(shí)現(xiàn)排隊(duì)電路系統(tǒng)的硬件電路主要由按鍵輸入單元、可編程邏輯器件控制單元、數(shù)碼管輸出顯示單元、晶體振蕩器及電源單元等外圍電路構(gòu)成,如圖1所示。程序結(jié)果如下圖:其中,按鍵

3、輸入單元完成指令的輸入,包括新客戶區(qū)號(hào)按鈕、柜臺(tái)的按鈕、系統(tǒng)復(fù)位按鈕等;可編程邏輯器件控制單元是整個(gè)排隊(duì)系統(tǒng)的核心控制單元,負(fù)責(zé)響應(yīng)按鍵輸入單元的指令,經(jīng)過運(yùn)算產(chǎn)生相關(guān)數(shù)字和控制信號(hào)送給輸出顯示單元;輸出顯示單元主要由多為數(shù)碼管構(gòu)成,能實(shí)現(xiàn)當(dāng)前動(dòng)態(tài)顯示當(dāng)前服務(wù)的號(hào)碼和隊(duì)伍的長度。如圖二:3、 VHDL程序進(jìn)程描述第一部分:寫入可編程邏輯器件芯片中的VHDL控制程序,其實(shí)體部分的端口定義描述如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned

4、.all; entity ordernumsys is port(rst,clk,tmpclk:in std_logic; selout:out std_logic_vector(2 downto 0); waiter:in bit; selbit:out std_logic_vector(7 downto 0); lednum:out std_logic_vector(6 downto 0); end ordernumsys;輸入信號(hào)中,rst是全局復(fù)位信號(hào),在rst=1的時(shí)候,所有顯示和計(jì)數(shù)被清零;clk是全局時(shí)鐘;waiter是柜臺(tái)能服務(wù)的按鍵信號(hào),waiter=1時(shí),就代表柜臺(tái)可以為已

5、經(jīng)取號(hào)的客戶進(jìn)行服務(wù)。輸出信號(hào)中:selout是由三位選擇哪一個(gè)數(shù)碼管。Selbit是從1到8分別代表數(shù)碼管,控制數(shù)碼管位選信號(hào),用來控制哪位數(shù)碼管發(fā)光,低電平有效;lednum是控制數(shù)碼管段選信號(hào),控制數(shù)碼管顯示的具體內(nèi)容,高電平有效。第二部分:為了計(jì)算各顯示單元的值,還需定義如下的一些信號(hào)量: Signal newcustom_ll,newcustom_lh,newcustom_hl,newcustom_hh: std_logic_vector(3 downto 0); Signal waitcustom_ll,waitcustom_lh,waitcustom_hl,waitcustom_

6、hh: std_logic_vector(3 downto 0); Signal curcustom_ll,curcustom_lh,curcustom_hl,curcustom_hh: std_logic_vector(3 downto 0); Signal length_ll,length_lh,length_hl,length_hh: std_logic_vector(3 downto 0); Signal tmpbcdnum:std_logic_vector(3 downto 0); Signal cnt4:integer range 0 to 10 ; Signal sel:std_

7、logic_vector(2 downto 0); Signal cnt10:std_logic_vector(1 downto 0); Signal tmpclk:std_logic;其中: newcustom用來存放新來客戶取號(hào)時(shí)分配的編號(hào)的: newcustom_ll是個(gè)位,newcustom_lh是十位,newcustom_hl是百位, newcustom_hh是千位; waitcustom用來存放等待人數(shù)的編號(hào)的: waitcustom_ll是waitcustom中的個(gè)位,waitcustom_lh是waitcustom中的 十位,waitcustom_hl是waitcustom中的

8、百位,waitcustom_hh是waitcustom 中的千位; curcustom是用來存放當(dāng)前接受服務(wù)的客戶的編號(hào): curcustom_ll是curcustom中的個(gè)位,curcustom_lh是curcustom中的十位, curcustom_hl是curcustom中的百位,curcustom_hh是curcustom中的千位; length是用來存放現(xiàn)在隊(duì)伍長度的: length_ll是length中的個(gè)位,length_lh是length中的十位,length_hl是 length中的百位,length_hh是length中的千位;tmpbcdnum用來臨時(shí)存放4位二進(jìn)制數(shù)據(jù);

9、cnt4代表的是那8個(gè)七段數(shù)碼管;sel代表的是3個(gè)選通信號(hào);cnt10與tmpclk是時(shí)鐘分頻信號(hào);第三部分:結(jié)構(gòu)體部分內(nèi)部還有八個(gè)進(jìn)程:P1 新客戶取號(hào)時(shí),號(hào)碼的變化以及等待的人數(shù)的變化; P2 柜臺(tái)當(dāng)前服務(wù)的號(hào)碼(curcustom)的計(jì)算; P3 隨著時(shí)鐘上升沿的到來,來控制8個(gè)七段數(shù)碼管的顯示; P4 sel的三個(gè)選通信號(hào)來控制8個(gè)七段數(shù)碼管; P5 二倍分頻電路,設(shè)定十進(jìn)制計(jì)數(shù)器cnt10來使clk分頻成tmpclk; P6 隊(duì)長的計(jì)算:length=newcustomcurcustom(即:新取號(hào)的客人號(hào) 碼正在服務(wù)的客人的號(hào)碼); P7 將cnt4與數(shù)碼管連接起來,設(shè)定哪一個(gè)數(shù)

10、碼管顯示哪一個(gè)數(shù)據(jù); P8 七段數(shù)碼管ABCDEFG的四位二進(jìn)制數(shù)的設(shè)定;4、程序中各進(jìn)程的詳細(xì)分析進(jìn)程P1:排隊(duì)人數(shù)的變化過程當(dāng)新客戶來取號(hào)時(shí),變量 newcustom、waitcustom的值會(huì)發(fā)生變化,其數(shù)據(jù)變化過程流程圖如圖三所示??蛻羧√?hào)時(shí),分配給客戶的編號(hào)變量自動(dòng)加1,當(dāng)編號(hào)超過9999時(shí)會(huì)自動(dòng)回到0;同時(shí),當(dāng)前等待的人也會(huì)自動(dòng)加1,當(dāng)其超過9999時(shí)也回到0。if rst='0' then newcustom四位全為0000 Waitcustom四位全為0000 elsif clk'event and clk='1' then newcus

11、tom_ll<=newcustom_ll+1; if newcustom_ll<"1001" then newcustom_ll<=newcustom_ll+1; elsif newcustom_lh<"1001" then newcustom_lh<=newcustom_lh+1;newcustom_ll<="0000" 后面與之步驟相同;直到newcustom全都加到1001. Elsif (newcustom_ll<="1001" and newcustom_lh&l

12、t;="1001"and newcustom_hl<="1001" and newcustom_hh<="1001" ) then waitcustom_ll<=waitcustom_ll+1;后面的waitcustom的與前面的newcustom的程序步驟相同,都是如此。具體步驟見后面的附錄。新客戶 Nonewcustom_lh<”1001” newcustom_ll<”1001” No newcustom_hl<”1001”newcustom_lh<=newcustom_lh+1newcu

13、stom_ll<=”0000” Yes Nonewcustom_hh<”1001” Yes newcustom_hl<=newcustom_hl+1newcustom_lh<=”0000” Yes Nonewcustom_ll<=newcustom_ll+1 newcustom_hh<=newcustom_hh+1newcustom_hl<=”0000” Yes Yes newcustom_ll<=”0000”newcustom_ll<=”0000”newcustom_ll<=”0000”newcustom_ll<=”0000”

14、 waitcustom_ll<”1001” waitcustom_lh<”1001” Nowaitcustom_hl<”1001” Yes Nowaitcustom_ll<=waitcustom_ll+1 Nowaitcustom_hh<”1001” Yeswaitcustom_lh<=waitcustom_lh+1waitcustom_ll<=”0000” Yes No Yeswaitcustom_hh<=waitcustom_hh+1waitcustom_hl<=”0000”waitcustom_hl<=waitcustom_hl

15、+1Waitcustom_lh<=”0000”waitcustom_ll<=”0000”waitcustom_lh<=”0000”waitcustom_hl<=”0000”waitcustom_hh<=”0000”圖三:客戶取號(hào)時(shí)各變量計(jì)算流程圖進(jìn)程P2:當(dāng)前柜臺(tái)服務(wù)人員號(hào)碼的計(jì)算當(dāng)柜臺(tái)準(zhǔn)備好為客人提供服務(wù)時(shí),變量newcustom,curcustom和length的值也會(huì)隨之發(fā)生變化,只有在復(fù)位rst=1,clk在上升沿并且waiter=1時(shí),即柜臺(tái)有按鈕waiter=1時(shí),curcustom才能加1。該模塊實(shí)現(xiàn)的主要代碼如下:If rst='0'

16、; then curcustom四位都為0elsif clk'event and clk='1' then 時(shí)鐘上升沿 if waiter<='0' then curcustom中四位都為0 elsif waiter<='1' then 柜臺(tái)可以為客人服務(wù) if curcustom_ll<"1001" then curcustom_ll<=curcustom_ll+1; elsif curcustom_lh<"1001" then 顧客編號(hào)都小于9999 curcust

17、om_lh<=curcustom_lh+1;curcustom_ll<="0000" elsif curcustom_hl<"1001" then curcustom_hl<=curcustom_hl+1;curcustom_lh<="0000" elsif curcustom_hh<"1001" then curcustom_hh<=curcustom_hh+1;curcustom_hl<="0000" elsif (curcustom_ll&l

18、t;="1001" and curcustom_lh<="1001" and curcustom_hl<="1001" and curcustom_hh<="1001") then curcustom中四位都為0 當(dāng)前顧客的編號(hào)都大于9999;全都至為0000 end if; end if; end if;進(jìn)程P3:十進(jìn)制計(jì)數(shù)器加至7。隨著時(shí)鐘上升沿的到來,cnt4加1具體程序解釋如下:if rst='0' then cnt4<=0; 當(dāng)復(fù)位rst=0時(shí),cnt4=0; el

19、sif tmpclk'event and tmpclk='1' then 時(shí)鐘上升沿 if cnt4<8 then cnt4<=cnt4+1; cnt4<8,cnt4的值為cnt4加1, else cnt4<=0; 一直加到7; end if; end if;進(jìn)程P4:數(shù)碼管動(dòng)態(tài)掃描電路8個(gè)數(shù)碼管分別由三個(gè)選通信號(hào)通過譯碼器得到的8個(gè)信號(hào)來選擇。當(dāng)三個(gè)選通信號(hào)sel<=”000”時(shí),cnt4=0的被選通顯示數(shù)據(jù),其余的關(guān)閉;當(dāng)sel<=”001”時(shí),cnt4=1的被選通顯示數(shù)據(jù),其余的關(guān)閉.通過sel的動(dòng)態(tài)變化到達(dá)多位數(shù)字的顯示。具體

20、程序解釋如下: begin if rst='0' then q<=(OTHERS=>'0'); elsif clk'event and clk='1' then q<=q+1; end if; end process p4; selout<=sel; sel<="000" when cnt4=0 else 倒數(shù)第一個(gè)數(shù)碼管cnt4=0; "001" when cnt4=1 else 倒數(shù)第二個(gè)數(shù)碼管cnt4=1; "010" when cnt4=2

21、else 倒數(shù)第三個(gè)數(shù)碼管cnt4=2; "011" when cnt4=3 else 倒數(shù)第四個(gè)數(shù)碼管cnt4=3; "100" when cnt4=4 else 第四個(gè)數(shù)碼管cnt4=4; "101" when cnt4=5 else 第三個(gè)數(shù)碼管cnt4=5; "110" when cnt4=6 else 第二個(gè)數(shù)碼管cnt4=6 "111" when cnt4=7 else 第一個(gè)數(shù)碼管cnt4=7; "000"進(jìn)程P5:二倍分頻電路生成 tmpclk輸入fi為clk

22、,我們所要的tmpclk就為fi/2,具體的程序如下:if rst='0' then cnt10<="00" 復(fù)位為0,其他都為0; elsif clk'event and clk='1' then if cnt10<3 then cnt10<=cnt10+1; else cnt10<="00".tmpclk<=cnt10(0); 進(jìn)程P6:隊(duì)長length的計(jì)算方法 隊(duì)長=新客戶的號(hào)碼當(dāng)前服務(wù)的顧客的號(hào)碼 即:length<=newcustomcurcustom Length分

23、為個(gè)位length_ll、十位length_lh、百位length_hl、千位length_hh。 四位分別計(jì)算。 具體程序解釋如下: if rst='0' then 復(fù)位為零,其他均設(shè)為零; Length四位均為零; elsif clk'event and clk='1' then 上升沿到時(shí),隊(duì)長開始計(jì)算; if waiter<='0' then length_ll<="0000"length_lh<="0000" length_hl<="0000"l

24、ength_hh<="0000" elsif waiter<='1' then 柜臺(tái)已經(jīng)服務(wù)完上一任顧客,有空位時(shí) length_ll<=newcustom_ll-curcustom_ll; 四位分別相減; length_lh<=newcustom_lh-curcustom_lh; length_hl<=newcustom_hl-curcustom_hl; length_hh<=newcustom_hh-curcustom_hh;此時(shí),length=length_hh & length_hl & lengt

25、h_lh & length_ll進(jìn)程P7:設(shè)定各個(gè)數(shù)碼管顯示哪一組數(shù)據(jù)計(jì)算出變量length_ll,length_lh,length_hl,length_hh,curcustom_ll,curcustom_lh,curcustom_hl,curcustom_hh的值后,需要一次送至圖二中的八位數(shù)碼管相應(yīng)位顯示。由于該數(shù)碼管段選位公共,位選位各自獨(dú)立,需要采用輪詢的方式將各段選信號(hào)和位選信號(hào)配合起來送至數(shù)碼管的各引腳。具體程序解釋如下: case cnt4 is when 0=> selbit <="" tmpbcdnum<=curcustom_ll

26、; when 1=> selbit <="" tmpbcdnum<=curcustom_lh; when 2=> selbit <="" tmpbcdnum<=curcustom_hl; when 3=> selbit <="" tmpbcdnum<=curcustom_hh; when 4=> selbit <="" tmpbcdnum<=length_ll; when 5=> selbit <="" tmpb

27、cdnum<=length_lh; when 6=> selbit <="" tmpbcdnum<=length_hl; when 7=> selbit <="" tmpbcdnum<=length_hh; when others=>selbit<="" end case;賦完值后,應(yīng)如下圖:進(jìn)程P8:四位二進(jìn)制數(shù)轉(zhuǎn)換為七段數(shù)碼管設(shè)計(jì)一個(gè)特殊譯碼器將四位二進(jìn)制數(shù)轉(zhuǎn)換為七段譯碼。具體程序解釋如下: case tmpbcdnum is when "0000"=>

28、;lednum<="" 段選位顯示“0”的字樣; when "0001"=>lednum<="" 段選位顯示“1”的字樣; when "0010"=>lednum<="" 段選位顯示“2”的字樣; when "0011"=>lednum<="" 段選位顯示“3”的字樣; when "0100"=>lednum<="" 段選位顯示“4”的字樣; when "

29、;0101"=>lednum<="" 段選位顯示“5”的字樣; when "0110"=>lednum<="" 段選位顯示“6”的字樣; when "0111"=>lednum<="" 段選位顯示“7”的字樣; when "1000"=>lednum<="" 段選位顯示“8”的字樣; when "1001"=>lednum<="" 段選位顯示“9”

30、的字樣; when others=>lednum<="" 段選位無任何輸出; end case;至此,八位數(shù)碼管各位待顯示的值均已求出,并譯碼成七段的形式輪詢送往該數(shù)碼管的各段選及位選引腳,數(shù)碼管上即能動(dòng)態(tài)顯示各字段的值。二:波 形 仿 真 圖(1) 波形仿真圖設(shè)置(二)當(dāng)waiter為1時(shí),數(shù)碼管會(huì)隨著newcustom的變化而變化。(三)當(dāng)waiter為0時(shí),數(shù)碼管也顯示為0。(四)管腳綁定三:下載到單片機(jī)實(shí)驗(yàn)箱上的實(shí)驗(yàn)現(xiàn)象將單片機(jī)實(shí)驗(yàn)箱上的控制waiter的那個(gè)開關(guān)至于高位,即waiter=1。同時(shí),控制rst的那個(gè)開關(guān)至為高位,使數(shù)碼管的變化只隨著時(shí)鐘上

31、升沿的到來而變化,并進(jìn)行著計(jì)數(shù)。前四個(gè)數(shù)碼管顯示隊(duì)伍長度;后四個(gè)數(shù)碼管顯示柜臺(tái)的當(dāng)前顧客服務(wù)的號(hào)碼。隨著時(shí)鐘上升沿的到來,后四個(gè)數(shù)碼管從個(gè)位開始增加,如果,waiter一直保持是1,那么隊(duì)長length的值將不會(huì)發(fā)生變化。此程序形成的圖形四:課設(shè)收獲與體會(huì)我選的排隊(duì)電路這個(gè)題目。我和我的同學(xué)去了圖書館找了一下午的資料,發(fā)現(xiàn)除了自己選得題目外,其他的有很多種。但是,各種書上給的也不是很詳細(xì)。所以,就找了兩本介紹有關(guān)課程設(shè)計(jì)和計(jì)數(shù)器比較詳細(xì)的書就回去了。首先,我是先設(shè)計(jì)好了程序的流程圖。選擇一個(gè)程序還是選擇分成多少個(gè)模塊來寫,覺得分成很多個(gè)模塊來寫的話,程序會(huì)很復(fù)雜,但是,檢查的時(shí)候會(huì)更加的方便,

32、最后再來一個(gè)總的程序,將所有的聯(lián)系起來,然后再仿真,程序多了就會(huì)容易出錯(cuò)。所以,我選擇的是用一個(gè)程序來寫,分成多個(gè)進(jìn)程,只要思路清晰,就不會(huì)容易出錯(cuò)的。所以,選擇這個(gè)方法的前提就是思路一定要清楚。我花了一天多的時(shí)間將題目所涵蓋的內(nèi)容分析清楚,并將大概的進(jìn)程所代表的內(nèi)容和一部分程序?qū)懥顺鰜?,畫出流程圖,比如說圖三。其次,就是將大概的程序從第一步開始一步一步的按照流程圖寫出來。并在Quartus軟件中建造新的project,編譯。一開始有很多的錯(cuò)誤,甚至由于好久不做實(shí)驗(yàn)的原因,在上實(shí)驗(yàn)課的時(shí)候用的代碼也不是自己寫的,這也是使自己犯錯(cuò)誤的原因之一。都不知道單片機(jī)實(shí)驗(yàn)箱中的八個(gè)七段數(shù)碼管是有一條線控制

33、的。需要設(shè)置一個(gè)sel三位選通信號(hào),例如:sel=000時(shí),選得是cnt4=0,既是最后一位數(shù)碼管。在輸進(jìn)程序的時(shí)候,我的程序共有八個(gè)進(jìn)程,我并不是把所有的程序一下子全部都輸進(jìn)去,我是先輸入了一個(gè)進(jìn)程后,在結(jié)尾end process 后面再加一個(gè)end。再進(jìn)行編譯,這樣解決完一個(gè),再加下一個(gè)進(jìn)程進(jìn)去,這樣進(jìn)行下去的話,就會(huì)知道自己的程序到底是在哪出現(xiàn)了問題。慢慢改,慢慢調(diào)試,千萬不能著急,就會(huì)有新的不同的發(fā)現(xiàn)。在編譯的時(shí)候,出現(xiàn)了將近有九十個(gè)warnings,輸入設(shè)置的是rst、clk、tmpclk還有waiter,結(jié)果編譯的時(shí)候就出現(xiàn)了新的問題,clk和tmpclk之間的關(guān)系沒辦法聯(lián)系起來。

34、后來檢查發(fā)現(xiàn)少了一個(gè)分頻電路。添加分頻電路,還要記得把輸入當(dāng)中的tmpclk去掉,在后面新定義一個(gè)tmpclk。用tmpclk=cnt10(0)將tmpclk和clk聯(lián)系起來。除了這些問題還有很多老師上課的時(shí)候多次強(qiáng)調(diào)過的問題:在任一進(jìn)程的進(jìn)程說明部分不允許定義信號(hào);“<=”兩邊的信號(hào)的數(shù)據(jù)類型必須一致;“=”沒有賦值的意義;順序語句只能用在進(jìn)程中。還有還多老師提到的細(xì)節(jié),只有親自動(dòng)手操作了之后,才了解到自己的基礎(chǔ)知識(shí)是多么的不牢固,只有在實(shí)踐中才能提高自己的能力。只是看懂書上的知識(shí),而不進(jìn)行事實(shí)操作,只是會(huì)紙上談兵,而不會(huì)進(jìn)行實(shí)戰(zhàn)并取得勝利的。我們都深感動(dòng)手起來遇到的各種問題都要親自去

35、解決是一件很不容易的事情,同時(shí)我們也在實(shí)踐過程中修復(fù)了以往學(xué)習(xí)的很多漏洞。我們自己經(jīng)過這次課程設(shè)計(jì)也得到了不同程度的完善和提升。 通過這次課程設(shè)計(jì),使我更加深刻形象的了解了VHDL語言的特別,VHDL語言是一種全方位硬件描述語言,包括系統(tǒng)行為級(jí),寄存器傳輸級(jí)和邏輯門級(jí)多個(gè)設(shè)計(jì)層次。應(yīng)充分利用 VHDL“自頂向下”的設(shè)計(jì)優(yōu)點(diǎn)以及層次化的設(shè)計(jì)概念,層次概念對(duì)于設(shè)計(jì)復(fù)雜的數(shù)字系統(tǒng) 是非常有用的,它使得我們可以從簡單的單元入手,逐漸構(gòu)成龐大而復(fù)雜的系統(tǒng)。通過使用 EDA 編程既方便有快捷的實(shí)現(xiàn)了程序本次設(shè)計(jì)的程序已經(jīng)在硬件系統(tǒng)上得到了驗(yàn)證。最后,在經(jīng)過這次課程設(shè)計(jì),自己收獲了這么多與老師和同學(xué)的幫助是

36、分不開的,不管天氣有多冷,老師也會(huì)到實(shí)驗(yàn)室去輔導(dǎo)我們,晚上本來是老師的休息時(shí)間,老師也是會(huì)上網(wǎng)登QQ來幫我們解決無數(shù)的問題。群里面同學(xué)們也好熱情的幫助我。在設(shè)計(jì)時(shí)和同學(xué)相互交流各自的想法也是很重要的,不同的人對(duì)問題的看法總有差異,我們可以從交流中獲得不同的思路,其他人的設(shè)計(jì)一定有比你出色的地方,很好的借鑒,并在大家的商討中選擇最優(yōu)方案最終一定會(huì)得到最好的設(shè)計(jì)方法。 這些知識(shí)在書上是根本就學(xué)習(xí)不到的。所以,這次課設(shè)不僅提高了自己的知識(shí),還使我們同學(xué)之間的關(guān)系更加的緊密。參考文獻(xiàn):1數(shù)字電路EDA入門-VHDL程序?qū)嵗?張亦華主編 北京郵電大學(xué)出版社 2DA技術(shù)與VHDL(第3版) 潘松 黃繼業(yè)

37、主編 清華大學(xué)出版社 3CPLD/FPGA 應(yīng)用開發(fā)技術(shù)與工程實(shí)踐 張立科主編 人民郵電出版社附 錄VNDL語言程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ordernumsys is port(rst,clk:in std_logic; selout:out std_logic_vector(2 downto 0); waiter:in bit; selbit:out std_logic_vector(7 do

38、wnto 0); lednum:out std_logic_vector(6 downto 0);end ordernumsys;architecture behav of ordernumsys is signal newcustom_ll,newcustom_lh, newcustom_hl,newcustom_hh:std_logic_vector(3 downto 0);signal waitcustom_ll,waitcustom_lh, waitcustom_hl,waitcustom_hh:std_logic_vector(3 downto 0);signal curcustom

39、_ll,curcustom_lh, curcustom_hl,curcustom_hh:std_logic_vector(3 downto 0);signal length_ll,length_lh, length_hl,length_hh:std_logic_vector(3 downto 0); signal tmpbcdnum:std_logic_vector(3 downto 0);signal cnt4:integer range 0 to 10 ;signal sel:std_logic_vector(2 downto 0);signal cnt10:std_logic_vecto

40、r(1 downto 0);signal tmpclk:std_logic;beginp1:process(clk,rst) begin if rst='0' then newcustom_ll<="0000"newcustom_lh<="0000" newcustom_hl<="0000"newcustom_hh<="0000" waitcustom_ll<="0000"waitcustom_lh<="0000" wait

41、custom_hl<="0000"waitcustom_hh<="0000" elsif clk'event and clk='1' then newcustom_ll<=newcustom_ll+1; if newcustom_ll<"1001" then newcustom_ll<=newcustom_ll+1; elsif newcustom_lh<"1001" then newcustom_lh<=newcustom_lh+1; newcus

42、tom_ll<="0000" elsif newcustom_hl<"1001" then newcustom_hl<=newcustom_hl+1; newcustom_lh<="0000" elsif newcustom_hh<"1001" then newcustom_hh<=newcustom_hh+1; newcustom_hl<="0000" elsif (newcustom_ll<="1001"and newcustom_lh<="1001" and newcustom_hl<="1001"and newcustom_hh<="1001" )then waitcustom_ll<=waitcustom_ll+1; If waitcustom_ll<"1001" then waitcustom_ll<=waitcustom_ll+1;newcustom_ll<="0000" newcus

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論