資源描述:
《VHDL多位地址低態(tài)動(dòng)作譯碼器 高速分頻器設(shè)計(jì)英文學(xué)習(xí)課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、基礎(chǔ)題一、題目名稱:多位地址低態(tài)動(dòng)作譯碼器二、對(duì)選題的理解(題目要求概述)多位地址低態(tài)動(dòng)作譯碼器(輸入:s1s2s3三位地址碼,輸出:t[4]t[3]t[2]t[1]t[0]五根地址選擇線),其真值表下圖。s1s2s3t[4]t[3]t[2]t[1]t[0]0000010100111001011101111111011110111011110111011101110111101111三、系統(tǒng)分析1、系統(tǒng)原理框圖多位地址低態(tài)動(dòng)作譯碼器s3s1s2t=11110t=11110t=11110t=11110t=111
2、10t=11110t=111102、流程圖11輸入s1,s2,s3000NN輸出t=11110YYY001010011100101110111輸出t=11110輸出t=11101輸出t=11101輸出t=11011輸出t=01111輸出t=10111輸出t=01111NNNNN113、設(shè)計(jì)要點(diǎn)設(shè)計(jì)要點(diǎn)中首先要定義實(shí)體名,如cai,輸入數(shù)據(jù)s1,s2,s3,輸出數(shù)據(jù)t[4]t[3]t[2]t[1]t[0],再者要注意s1,s2,s3要一起賦值給s。然而題目所給的提示使得編程變得簡(jiǎn)單。只要使結(jié)果與之對(duì)應(yīng)即可。4、
3、難點(diǎn)和特色點(diǎn)題目中所給出的表格已經(jīng)解決了這個(gè)題目的基本難點(diǎn)。四、邏輯仿真圖及功能分析如果輸入是:011根據(jù)所給的表格可以得到結(jié)果是:11101五、時(shí)序仿真及分析11時(shí)序仿真結(jié)果相對(duì)于功能仿真有一定的時(shí)延。六、調(diào)試過(guò)程與問(wèn)題調(diào)試過(guò)程不難,但是也出現(xiàn)一些問(wèn)題,首先程序運(yùn)行時(shí)是無(wú)誤的,程序也沒(méi)有出現(xiàn)語(yǔ)句上的錯(cuò)誤,但是輸出結(jié)果是與提綱所給的表格不一致。最后我查看資料書(shū)才知道,是自己寫(xiě)的t值不正確。并且在調(diào)試的過(guò)程中,不了解quartus這款軟件,使得我調(diào)試經(jīng)常出現(xiàn)錯(cuò)誤。八、附錄(VHDL源程序)Libraryieee
4、;useieee.std_logic_1164.all;entitycaiisport(t:outstd_logic_vector(4downto0);s1,s2,s3:instd_logic);endentitycai;architectureoneofcaiissignals:std_logic_vector(2downto0);begins<=s1&s2&s3;process(s)begin11casesiswhen"000"=>t<="11110";when"001"=>t<="11110";when
5、"010"=>t<="11101";when"011"=>t<="11101";when"100"=>t<="11011";when"101"=>t<="10111";when"110"=>t<="01111";when"111"=>t<="01111";whenothers=>null;endcase;endprocess;endarchitectureone;綜合題一、題目名稱:高速分頻器設(shè)計(jì)二、對(duì)選題的理解(題目要求概述)題目所要求的是:有一個(gè)10MHz的時(shí)鐘源,為得到4Hz,3Hz,2Hz和1Hz的信
6、號(hào),請(qǐng)?jiān)O(shè)計(jì)一種分頻器。原理:在原本一秒鐘里輸出10MHz的時(shí)間里輸出4Hz,3Hz,2Hz和1Hz。主要思想:用計(jì)數(shù)器來(lái)將時(shí)鐘源分頻。三、系統(tǒng)分析clkmodeclr1、系統(tǒng)原理圖高速分頻器clk12、流程圖11時(shí)鐘源mode=00mode=11mode=10mode=01分為1Hz分為2Hz分為3Hz分為4Hz輸出信號(hào)開(kāi)始結(jié)束3、設(shè)計(jì)要點(diǎn)首先應(yīng)設(shè)置一個(gè)clk,作為一個(gè)比較的頻率,用它來(lái)和分頻后波形進(jìn)行比較,便于觀察。其次11以100Hz為例,分為1Hz時(shí),100/2-1=49,所以應(yīng)定義一個(gè)6位的緩沖變量,
7、即variabletemp:std_logic_vector(5downto0)。由于10MHz太大難以看得清楚,故采用100Hz的信號(hào)源來(lái)進(jìn)行實(shí)驗(yàn)。3、設(shè)計(jì)難點(diǎn)iftemp="110001"thentemp:="000000";ck<=notck;該句意思就是計(jì)數(shù)到了要跳變的地方就跳變,然后置零。設(shè)置temp:="000000"的目的是為了重新計(jì)數(shù)。ck<=notck;即跳變的命令。
四、時(shí)序仿真及分析1Hz2Hz3Hz114Hz六、調(diào)試過(guò)程與問(wèn)題本題相對(duì)于基礎(chǔ)題,有一定的難度。起初運(yùn)行不出正確結(jié)果的主要問(wèn)
8、題在于分頻器內(nèi)部的設(shè)計(jì)。分為1Hz時(shí),100/2-1=49,49轉(zhuǎn)化為二進(jìn)制為110001,所以應(yīng)定義一個(gè)6位的緩沖變量,即variabletemp:std_logic_vector(5downto0)。iftemp="110001"thentemp:="000000";ck<=notck;也是其關(guān)鍵之處。七、體會(huì)和建議11通過(guò)這次實(shí)驗(yàn)我認(rèn)為,我們?cè)谧鰧?shí)驗(yàn)之前必須做足準(zhǔn)備,不然在做實(shí)驗(yàn)的時(shí)候就會(huì)出現(xiàn)