版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p> 數(shù)字秒表的設(shè)計(jì)思路 1</p><p> 2.系統(tǒng)設(shè)計(jì)要求 1</p><p> 3.系統(tǒng)計(jì)時(shí)方案
2、1</p><p> 4.系統(tǒng)仿真 10</p><p> 5.結(jié)束語(yǔ) 13</p><p> 6.參考文獻(xiàn) 13</p>&l
3、t;p> 1. 數(shù)字秒表設(shè)計(jì)思路</p><p> 應(yīng)用VHDL語(yǔ)言設(shè)計(jì)數(shù)字系統(tǒng),很多設(shè)計(jì)可以在計(jì)算機(jī)上完成,從而縮短了數(shù)字系統(tǒng)的開(kāi)發(fā)時(shí)間,我們嘗試?yán)肰HDL為開(kāi)發(fā)工具涉及數(shù)字秒表。</p><p> 秒表的邏輯結(jié)構(gòu)較簡(jiǎn)單,它主要由十進(jìn)制計(jì)數(shù)器,六進(jìn)制計(jì)數(shù)器,12500的分頻器,數(shù)字選擇器,和顯示譯碼器等組成。在整個(gè)秒表中最關(guān)鍵的時(shí)候如何獲得一個(gè)精確的100HZ計(jì)時(shí)脈沖,除此
4、之外,整個(gè)秒表還需有一個(gè)啟動(dòng)信號(hào)和清零信號(hào),以便秒表能隨意停止及啟動(dòng)。</p><p><b> VHDL的設(shè)計(jì)流程</b></p><p> 它主要包括以下幾個(gè)步驟:</p><p><b> (1)文本編輯:</b></p><p> 用任何文本編輯器都可以進(jìn)行,也可以用專用的HDL編輯
5、環(huán)境。通常VHDL文件保存為.vhd文件,Verilog文件保存為.v文件</p><p><b> ?。?)功能仿真</b></p><p> 將文件調(diào)入HDL仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正確(也叫前仿真,對(duì)簡(jiǎn)單的設(shè)計(jì)可以跳過(guò)這一步,只在布線完成以后,進(jìn)行時(shí)序仿真)</p><p><b> ?。?)邏輯綜合</
6、b></p><p> 將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,即把語(yǔ)言綜合成最簡(jiǎn)的布爾表達(dá)式。邏輯綜合軟件會(huì)生成.edf或.edif 的EDA工業(yè)標(biāo)準(zhǔn)文件。</p><p><b> ?。?)布局布線</b></p><p> 將.edf文件調(diào)入PLD廠家提供的軟件中進(jìn)行布線,即把設(shè)計(jì)好的邏輯安放PLD/FPGA內(nèi)。</p>
7、<p><b> ?。?)時(shí)序仿真</b></p><p> 需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗(yàn)證電路的時(shí)序。(也叫后仿真) 通常以上過(guò)程可以都在PLD/FPGA廠家提供的開(kāi)發(fā)工具。</p><p><b> ?。?)器件編程</b></p><p><b> 2.系統(tǒng)設(shè)計(jì)要求<
8、;/b></p><p> ?。?)數(shù)字秒表的計(jì)時(shí)范圍是0秒~59分59.99秒,顯示的最長(zhǎng)時(shí)間為59分59秒。</p><p> (2)數(shù)字秒表的計(jì)時(shí)精度是10ms。</p><p> ?。?)復(fù)位開(kāi)關(guān)可以在任何情況下使用,即使在即使過(guò)程中,只要按一下復(fù)位開(kāi)關(guān),即使器就清零,并做好下次即使的準(zhǔn)備。</p><p> ?。?)具有啟/
9、停開(kāi)關(guān),啟動(dòng)計(jì)時(shí)器計(jì)時(shí),再按啟/停開(kāi)關(guān)則停止計(jì)時(shí)。、</p><p><b> 3.系統(tǒng)計(jì)時(shí)方案</b></p><p> 根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)的組成框圖如圖0-1所示。</p><p> 系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方案,系統(tǒng)的組成框圖如圖0-1所示</p><p> 系統(tǒng)設(shè)計(jì)采用自頂而下的設(shè)計(jì)方法,它主要由控
10、制模塊,時(shí)機(jī)分頻模塊,計(jì)時(shí)模塊和顯示模塊四部分組成。</p><p><b> 控制模塊</b></p><p> 計(jì)時(shí)控制模塊的作用是對(duì)計(jì)時(shí)過(guò)程進(jìn)行控制。計(jì)時(shí)控制模塊可用兩個(gè)按鈕開(kāi)關(guān)按鈕來(lái)完成秒表的啟動(dòng),停止和復(fù)位。</p><p><b> 計(jì)時(shí)模塊</b></p><p> 計(jì)時(shí)模塊執(zhí)
11、行計(jì)時(shí)功能,計(jì)時(shí)的方法是對(duì)標(biāo)準(zhǔn)時(shí)鐘脈沖計(jì)數(shù)。由于計(jì)時(shí)范圍是0秒~59分59.99秒,所以計(jì)數(shù)器可以由四個(gè)十進(jìn)制計(jì)數(shù)器和兩個(gè)六進(jìn)制計(jì)數(shù)器構(gòu)成,其中秒表位,十毫秒位,秒位和分位采用六進(jìn)制計(jì)時(shí)器。</p><p><b> 顯示模塊</b></p><p> 計(jì)時(shí)顯示電路的作用是將計(jì)數(shù)值在LED七段數(shù)碼管上顯示才出來(lái)。計(jì)時(shí)電路產(chǎn)生的計(jì)時(shí)值經(jīng)過(guò)BCD七段譯碼后,驅(qū)動(dòng)LED
12、數(shù)字管。計(jì)時(shí)顯示電路的實(shí)現(xiàn)方案采用掃描顯示,即每次只驅(qū)動(dòng)一位數(shù)碼管,各位數(shù)據(jù)輪流驅(qū)動(dòng)對(duì)應(yīng)的數(shù)碼管進(jìn)行顯示。</p><p> 圖3-1系統(tǒng)組成框圖</p><p> 3.1 控制模塊</p><p> 計(jì)時(shí)模塊的作用是針對(duì)計(jì)時(shí)過(guò)程進(jìn)行控制。計(jì)時(shí)控制模塊可用倆個(gè)按鈕來(lái)完成秒表的啟動(dòng)、停止和復(fù)位。部分源程序如下: </p><p&
13、gt; LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY CTRL IS</p><p> PORT( CLR,CLK,SP:IN STD_LOGIC;</p
14、><p> EN :OUT STD_LOGIC);</p><p><b> END ;</b></p><p> ARCHITECTURE BEHAVE OF CTRL IS</p><p> CONSTANT S0: STD_LOGIC_VECTOR (1 DOWNTO 0):="00";&l
15、t;/p><p> CONSTANT S1: STD_LOGIC_VECTOR (1 DOWNTO 0):="01";</p><p> CONSTANT S2: STD_LOGIC_VECTOR (1 DOWNTO 0):="11";</p><p> CONSTANT S3: STD_LOGIC_VECTOR (1 DO
16、WNTO 0):="10";</p><p> TYPE STATES IS (S0,S1,S2,S3);</p><p> SIGNAL CURRENT_STATE,NEXT_STATE:STATES;</p><p><b> BEGIN</b></p><p> COM:PROCESS(
17、SP,CURRENT_STATE)</p><p><b> BEGIN</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END BEHAVE;</p><p><b> 3.2時(shí)基分
18、頻模塊</b></p><p> 時(shí)基分頻模塊的作用把輸入時(shí)鐘信號(hào)變?yōu)榉诸l輸出信號(hào)。源程序:</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p>&
19、lt;p> ENTITY CB10 IS</p><p> PORT( CLK: IN STD_LOGIC;</p><p> CO : OUT STD_LOGIC);</p><p><b> END CB10;</b></p><p> ARCHITECTURE ART OF CB10 IS</
20、p><p> SIGNAL COUNT:STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p><b> BEGIN</b></p><p> PROCESS(CLK)</p><p><b> BEGIN</b></p><p> IF RISI
21、NG_EDGE(CLK)THEN</p><p> IF COUNT="1001"THEN</p><p> COUNT<="0000";</p><p><b> CO<='1';</b></p><p><b> ELSE</
22、b></p><p> COUNT<=COUNT+1;</p><p><b> CO<='0';</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><
23、;p> END PROCESS;</p><p><b> END ART;</b></p><p><b> 3.3計(jì)時(shí)模塊</b></p><p> 計(jì)時(shí)模塊執(zhí)行計(jì)時(shí)功能,計(jì)時(shí)方法和計(jì)算機(jī)一樣是對(duì)標(biāo)準(zhǔn)時(shí)鐘脈沖計(jì)數(shù)。他是由四</p><p> 個(gè)十進(jìn)制計(jì)數(shù)器和倆個(gè)六進(jìn)制計(jì)數(shù)器構(gòu)成,
24、其中毫秒位、十毫秒位、秒位和分位采用十進(jìn)制計(jì)數(shù)器,十秒位和十分位采用六進(jìn)制計(jì)數(shù)器。源程序:</p><p><b> ?、?十進(jìn)制計(jì)數(shù)器</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LO
25、GIC_UNSIGNED.ALL;</p><p> ENTITY CDU10 IS</p><p> PORT( CLK:IN STD_LOGIC;</p><p> CLR,EN:IN STD_LOGIC;</p><p> CN :OUT STD_LOGIC;</p><p> COUNT10:OUT
26、STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END CDU10;</p><p> ARCHITECTURE ART OF CDU10 IS</p><p> SIGNAL SCOUNT10: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> BEGIN COUNT10&
27、lt;=SCOUNT10;</p><p> PROCESS (CLK,CLR,EN)</p><p> BEGIN IF(CLR='1')THEN</p><p> SCOUNT10<="0000";CN<='0';</p><p> ELSIF RISING_EDGE
28、(CLK)THEN</p><p> IF(EN='1')THEN</p><p> IF SCOUNT10="1001"THEN</p><p><b> CN<='1';</b></p><p> SCOUNT10<="0000&quo
29、t;;</p><p><b> ELSE</b></p><p><b> CN<='0';</b></p><p> SCOUNT10<=SCOUNT10+'1';</p><p><b> END IF;</b><
30、/p><p><b> END IF;</b></p><p> END PROCESS;</p><p><b> END ART;</b></p><p><b> ?、诹M(jìn)制計(jì)數(shù)器</b></p><p> LIBRARY IEEE;</
31、p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY CDU6 IS</p><p> PORT( CLK,CLR,EN:IN STD_LOGIC;</p><p> CN :OU
32、T STD_LOGIC;</p><p> COUNT6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p><b> END CDU6;</b></p><p> ARCHITECTURE ART OF CDU6 IS</p><p> SIGNAL SCOUNT6: STD_
33、LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> BEGIN </b></p><p> COUNT6<=SCOUNT6;</p><p> PROCESS (CLK,CLR,EN)</p><p><b> BEGIN </b></p>&l
34、t;p> IF(CLR='1')THEN</p><p> SCOUNT6<="0000";CN<='0';</p><p> ELSIF RISING_EDGE(CLK) THEN</p><p> IF(EN='1')THEN</p><p>
35、 IF SCOUNT6="0101"THEN</p><p><b> CN<='1';</b></p><p> SCOUNT6<="0000";</p><p><b> ELSE</b></p><p><b>
36、; CN<='0';</b></p><p> SCOUNT6<=SCOUNT6+'1';</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;
37、</p><p><b> END ART;</b></p><p><b> ③計(jì)數(shù)器</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_L
38、OGIC_UNSIGNED.ALL;</p><p> ENTITY COUNT IS</p><p> PORT( CLK,CLR,EN:IN STD_LOGIC;</p><p> S_1MS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10MS:OUT STD_LOGIC_VECTO
39、R(3 DOWNTO 0);</p><p> S_100MS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_1S:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10S:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p&g
40、t; S_1MIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10MIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> HOUR:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END COUNT;</p><p
41、> ARCHITECTURE ART OF COUNT IS</p><p> COMPONENT CDU10</p><p> PORT( CLK,CLR,EN:IN STD_LOGIC;</p><p> CN :OUT STD_LOGIC;</p><p> COUNT10:OUT STD_LOGIC_VECTOR(
42、3 DOWNTO 0));</p><p> END COMPONENT CDU10;</p><p> COMPONENT CDU6</p><p> PORT( CLK,CLR,EN:IN STD_LOGIC;</p><p> CN :OUT STD_LOGIC;</p><p> COUNT6:O
43、UT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END COMPONENT CDU6;</p><p> SIGNAL A,B,C,D,E,F,G,H:STD_LOGIC;</p><p><b> BEGIN</b></p><p> UL:CDU10 PORT MAP
44、 (CLK,CLR,EN,A,S_1MS);</p><p> U2:CDU10 PORT MAP (A,CLR,EN,B,S_10MS);</p><p> U3:CDU10 PORT MAP (B,CLR,EN,C,S_100MS);</p><p> U4:CDU10 PORT MAP (C,CLR,EN,D,S_1S);</p>
45、<p> U5:CDU6 PORT MAP (D,CLR,EN,E,S_10S);</p><p> U6:CDU10 PORT MAP (E,CLR,EN,F,S_1MIN);</p><p> U7:CDU6 PORT MAP (F,CLR,EN,G,S_10MIN);</p><p> U8:CDU10 PORT MA
46、P (G,CLR,EN,H,HOUR);</p><p><b> END ART;</b></p><p><b> 3.4顯示模塊</b></p><p> 計(jì)時(shí)顯示電路的作用是將計(jì)時(shí)值在LED數(shù)碼管上顯示出來(lái)。計(jì)時(shí)電路產(chǎn)生的值經(jīng)過(guò)BCD七段譯碼后,驅(qū)動(dòng)LED數(shù)碼管。計(jì)時(shí)顯示電路的實(shí)現(xiàn)方案采用掃描顯示。部分源程序
47、:</p><p><b> ①數(shù)據(jù)選擇器</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY
48、 MULX IS</p><p> PORT( CLK,CLR,EN:IN STD_LOGIC;</p><p> S_1MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_100MS:IN ST
49、D_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_1S:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10S:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> M_1MIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p>
50、<p> M_10MIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> HOUR:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> OUTBCD:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SEG:OUT STD_LOGIC_VEC
51、TOR(7 DOWNTO 0));</p><p><b> END MULX;</b></p><p> ARCHITECTURE ART OF MULX IS</p><p> SIGNAL COUNT:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> BEGIN
52、</b></p><p> PROCESS (CLK)</p><p><b> BEGIN</b></p><p> IF CLR='1'THEN</p><p> COUNT<="1111";</p><p> ELSIF RIS
53、ING_EDGE(CLK)THEN</p><p> IF EN ='1' THEN </p><p> COUNT<="0000";</p><p><b> ELSE</b></p><p> COUNT<=COUNT+'1';</p>
54、;<p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS(CLK)</p>
55、<p><b> BEGIN</b></p><p> IF CLK'EVENT AND CLK='1' THEN</p><p> CASE COUNT IS</p><p> WHEN "0000"=>OUTBCD<=S_1MS; SEG<=&q
56、uot;11111110";</p><p> WHEN "0001"=>OUTBCD<=S_10MS; SEG<="11111101";</p><p> WHEN "0010"=>OUTBCD<=S_100MS; SEG<="11111011
57、";</p><p> WHEN "0011"=>OUTBCD<=S_1S; SEG<="11110111";</p><p> WHEN "0100"=>OUTBCD<=S_10S; SEG<="11101111";</
58、p><p> WHEN "0101"=>OUTBCD<=S_1MIN; SEG<="11011111";</p><p> WHEN "0110"=>OUTBCD<=S_10MIN; SEG<="10111111";</p><p
59、> WHEN "0111"=>OUTBCD<=S_HUOR; SEG<="01111111";</p><p> WHEN "1000"=>OUTBCD<=S_1MS; SEG<="11111110";</p><p> WHEN &
60、quot;1001"=>OUTBCD<=S_10MS; SEG<="11111101";</p><p> WHEN OTHERS=>OUTBCD<="0000"; SEG<="00000000";</p><p><b> END CASE;
61、</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p><b> END ART;</b></p><p><b> ?、贐CD七段譯碼器</b></p><p> LI
62、BRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY BCD7 IS</p><p><b> PORT( </b></p><p&
63、gt; BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p><b> END BCD7;</b></p><p> ARCHITECTURE ART OF BCD7 IS</p><p
64、><b> BEGIN</b></p><p> LED<="1111110"WHEN BCD ="0000" ELSE</p><p> "0110000"WHEN BCD ="0001" ELSE</p><p> "1101101
65、"WHEN BCD ="0010" ELSE</p><p> "1111001"WHEN BCD ="0011" ELSE</p><p> "0110011"WHEN BCD ="0100" ELSE</p><p> "1011011&
66、quot;WHEN BCD ="0101" ELSE</p><p> "1011111"WHEN BCD ="0110" ELSE</p><p> "1110000"WHEN BCD ="0111" ELSE</p><p> "1111111&q
67、uot;WHEN BCD ="1000" ELSE</p><p> "1111011"WHEN BCD ="1001" ELSE</p><p> "0000000";</p><p><b> END ART; </b></p><p&
68、gt; 3.5頂層設(shè)計(jì)的源程序(MB.VHD)</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY MB IS</p><p&g
69、t; PORT( SP,CLR,CLK:IN STD_LOGIC;</p><p> CO,EN: OUT STD_LOGIC;</p><p> LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p> OUTBCD:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))</p><p&g
70、t; SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p><b> END MB;</b></p><p> ARCHITECTURE ART OF MB IS</p><p> COMPONENT CTRL</p><p> PORT( CLK,CLR,SP:IN
71、 STD_LOGIC;</p><p> EN :OUT STD_LOGIC);</p><p> END COMPONENT ;</p><p> COMPONENT CB10</p><p> PORT( CLK:IN STD_LOGIC;</p><p> CO :OUT STD_LOGIC);&l
72、t;/p><p> END COMPONENT ;</p><p> COMPONENT COUNT</p><p> PORT( CLK,CLR,EN:IN STD_LOGIC;</p><p> S_1MS: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_1
73、0MS: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_100MS: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_1S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10S: OUT STD_LOG
74、IC_VECTOR(3 DOWNTO 0);</p><p> S_1MIN: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10MIN: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> HOUR: OUT STD_LOGIC_VECTOR(3 DOWNTO
75、0));</p><p> END COMPONENT;</p><p> COMPONENT BCD7</p><p> PORT( BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> LED :OUT STD_LOGIC_VECTOR(6 DOWNTO 0);</p>&l
76、t;p> END COMPONENT ;</p><p> COMPONENT MULX</p><p> PORT( CLK,CLR,EN:IN STD_LOGIC;</p><p> S_1MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10MS:IN STD_LOGIC_VE
77、CTOR(3 DOWNTO 0);</p><p> S_100MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_1S:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10S:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p&g
78、t; S_1MIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> S_10MIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> HOUR:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> OUTBCD:OUT STD_LOGIC_VECTOR(3 D
79、OWNTO 0);</p><p> SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p> END COMPONENT;</p><p> SIGNAL C,E:STD_LOGIC;</p><p> SIGNAL MS1_S,MS10_S,MS100_S:STD_LOGIC_VECTOR(3
80、 DOWNTO 0);</p><p> SIGNAL S1S_S,S10_S:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SIGNAL MIN1_S,MIN10_S:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SIGNAL H:STD_LOGIC_VECTOR(3 DOWNTO 0);<
81、;/p><p> SIGNAL BCD_S,MS10_S,MS100_S:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> BEGIN</b></p><p> U0: CTRL PORT MAP(CLR,CLK,SP,E);</p><p> U1: CB10 PORT MAP(
82、CLK,C);</p><p> U2:COUNT PORT;</p><p> MAP(C,CLR,E,MS1_S,MS10_S,MS100_S,S1S_S,S10_S,MIN1_SMIN10_S,H);</p><p> U3:MULXPORTMAP(CLR,CLK,E,MS1_S,MS10_S,MS100_S,S1S_S,S10_S,MIN1_SMIN1
83、0_S,H,BCD_S,SEG);</p><p> U4: BCD7 PORT MAP(BCD_S,LED);</p><p><b> CO<=C;</b></p><p><b> EN<=E;</b></p><p> OUTBCD<=BCD_S;</p>
84、;<p><b> END ART;</b></p><p><b> 4 系統(tǒng)仿真</b></p><p> 時(shí)基分頻模塊的仿真(如圖 4-1所示)</p><p> 分析:CLK為時(shí)鐘信號(hào)的輸入 ,CO為分頻輸出信號(hào)。</p><p> 控制模塊的仿真(如圖 4-2所示)
85、</p><p> 分析:CLK、CLR和SP為輸入信號(hào),EN為輸出信號(hào)。</p><p> 計(jì)時(shí)電路模塊的仿真(如圖 4-3~圖4-5所示)</p><p> 十進(jìn)制計(jì)數(shù)器的仿真(如圖4-3所示)</p><p> 六進(jìn)制計(jì)數(shù)器的仿真(如圖4-4所示)</p><p> 計(jì)數(shù)器的仿真(如圖4-5所示)<
86、;/p><p> 分析:clk為時(shí)鐘脈沖脈沖,s_1ms是毫秒計(jì)數(shù)值,s_10ms是十毫秒計(jì)數(shù)器,s_100ms是百毫秒計(jì)數(shù)器,s_1s是秒計(jì)數(shù)器,s_10s是十秒計(jì)數(shù)器,m_1min是分計(jì)數(shù)器,s_10min是十分計(jì)數(shù)器。它們均為輸入信號(hào)。每來(lái)兩個(gè)時(shí)鐘脈沖,s_1ms加1,當(dāng)s_1ms滿十時(shí),s_10ms加1,依次類推,s_10ms滿十的時(shí)候,s_100ms加1等等作為輸出。</p><p&g
87、t; 顯示電路模塊的仿真(如圖 4-6~圖5-7所示)</p><p> 數(shù)據(jù)選擇器的仿真(如圖 4-6所示)</p><p> BCD七段譯碼器驅(qū)動(dòng)器的仿真(如圖 4-7所示)</p><p> 分析:bcd為時(shí)鐘脈沖輸入信號(hào),led是輸出信號(hào),如圖所示:當(dāng)輸出為“1111110”時(shí)候,輸入為“0000”;當(dāng)輸出為“0110000”時(shí)輸入“0001”,當(dāng)輸
88、入為“0010”時(shí)輸出為“1101101”,當(dāng)輸入為“0011”時(shí)輸出為“1111001”等等來(lái)實(shí)現(xiàn)七段譯碼功能。</p><p> 數(shù)字秒表整個(gè)系統(tǒng)的仿真(如圖4-8所示)</p><p> 分析:秒表開(kāi)始從零開(kāi)始計(jì)數(shù),每次增加10ms。工作很正常的進(jìn)行。</p><p><b> 5.結(jié)束語(yǔ)</b></p><p&
89、gt; 開(kāi)始做設(shè)計(jì)時(shí)總是會(huì)犯錯(cuò)誤,只有經(jīng)過(guò)不停的改錯(cuò)不停的編譯得到正確的程序說(shuō)明了作為軟件編程人員是不能粗心大意的,一個(gè)程序的質(zhì)量的高低與你細(xì)心與否有著一定的聯(lián)系。在編程時(shí),我充分使用了結(jié)構(gòu)化的思想,這樣程序檢查起來(lái)也比較方便,調(diào)試時(shí)也給了我很大方便,只要一個(gè)模塊一個(gè)模塊的進(jìn)行調(diào)就可以了,充分體現(xiàn)了結(jié)構(gòu)化編程的優(yōu)勢(shì)。在設(shè)計(jì)中要求我要有耐心和毅力,還要細(xì)心,稍有不慎,一個(gè)小小的錯(cuò)誤就會(huì)導(dǎo)致結(jié)果的不正確,而對(duì)錯(cuò)誤的檢查要求我要有足夠的耐心
90、,通過(guò)這次設(shè)計(jì)和設(shè)計(jì)中遇到的問(wèn)題,也積累了一定的經(jīng)驗(yàn),對(duì)以后從事集成電路設(shè)計(jì)工作會(huì)有一定的幫助。</p><p> 在應(yīng)用VHDL的過(guò)程中讓我真正領(lǐng)會(huì)到了其并行運(yùn)行與其他軟件順序執(zhí)行的差別及其在電路設(shè)計(jì)上的優(yōu)越性。用VHDL硬件描述語(yǔ)言的形式來(lái)進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)方便靈活,利用EDA軟件進(jìn)行編譯優(yōu)化仿真極大地減少了電路設(shè)計(jì)時(shí)間和可能發(fā)生的錯(cuò)誤,降低了開(kāi)發(fā)成本,這種設(shè)計(jì)方法在數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮越來(lái)越重要的作用。&l
91、t;/p><p><b> 6.致謝</b></p><p> 經(jīng)過(guò)快一個(gè)星期的緊張工作,我終于完成了我的設(shè)計(jì)任務(wù)——設(shè)計(jì)數(shù)字秒表。在這次課程設(shè)計(jì)中特別感謝xx老師對(duì)我的指導(dǎo),正是由于她的督促和耐心指導(dǎo),我才可以順利完成這次的設(shè)計(jì)。鍛煉了動(dòng)手能力,給以后的學(xué)習(xí)指出了一個(gè)方向。</p><p><b> 7.參考文獻(xiàn)</b>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)-- eda與數(shù)字系統(tǒng)課程設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字跑表
- eda數(shù)字時(shí)鐘課程設(shè)計(jì)
- eda數(shù)字時(shí)鐘課程設(shè)計(jì)
- eda數(shù)字秒表課程設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字秒表
- eda課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- eda課程設(shè)計(jì)——數(shù)字時(shí)鐘設(shè)計(jì)
- eda課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- eda數(shù)字鐘課程設(shè)計(jì)
- eda綜合課程設(shè)計(jì)-數(shù)字秒表
- 數(shù)字鐘--eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字時(shí)鐘(鬧鐘)
- eda課程設(shè)計(jì)--數(shù)字電子鐘課程設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告--eda數(shù)字搶答器
- eda課程設(shè)計(jì)--eda數(shù)字系統(tǒng)綜合設(shè)計(jì)與實(shí)踐
- eda課程設(shè)計(jì)--數(shù)字秒表的設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字秒表的設(shè)計(jì)
- eda課程設(shè)計(jì)--數(shù)字時(shí)鐘的設(shè)計(jì)
- 數(shù)字鬧鐘系統(tǒng)eda課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論