2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  《EDA技術(shù)應(yīng)用》</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  基于FPGA的數(shù)字鐘設(shè)計(jì)</p><p>  專 業(yè): 通信工程 </p><p>  班 級(jí):

2、 </p><p>  姓 名: </p><p>  指導(dǎo)教師: </p><p><b>  2012.1.6</b></p><p><b>  目錄</b>

3、;</p><p>  1.設(shè)計(jì)任務(wù)及要求1</p><p><b>  1.1設(shè)計(jì)任務(wù)1</b></p><p><b>  1.2設(shè)計(jì)要求1</b></p><p>  2.設(shè)計(jì)方案以及流程2</p><p>  2.1設(shè)計(jì)原理圖2</p><

4、;p>  2.2工程流程圖2</p><p><b>  3.程序設(shè)計(jì)3</b></p><p>  3.1 秒鐘模塊3</p><p><b>  3.2分鐘模塊4</b></p><p><b>  3.3時(shí)鐘模塊6</b></p><p

5、><b>  3.4分頻模塊7</b></p><p>  3.5數(shù)碼管控制模塊9</p><p>  3.6七段譯碼顯示模塊11</p><p>  3.7頂層模塊12</p><p><b>  4.硬件測(cè)試14</b></p><p>  4.1管腳的分

6、配14</p><p><b>  4.2調(diào)試15</b></p><p>  4.3實(shí)驗(yàn)現(xiàn)象16</p><p><b>  5.總結(jié)16</b></p><p><b>  6.老師點(diǎn)評(píng)16</b></p><p><b>  參

7、考書目17</b></p><p>  基于FPGA的數(shù)字鐘的設(shè)計(jì)</p><p><b>  1.設(shè)計(jì)任務(wù)及要求</b></p><p><b>  1.1設(shè)計(jì)任務(wù) </b></p><p>  設(shè)計(jì)并實(shí)現(xiàn)具有一定功能的數(shù)字鐘。包括清零、置數(shù)、計(jì)數(shù)、報(bào)時(shí)等 功能。<

8、;/p><p>  具有時(shí)、分、秒計(jì)數(shù)顯示功能,且以24小時(shí)循環(huán)計(jì)時(shí)。</p><p>  具有清零的功能,且能夠?qū)τ?jì)時(shí)系統(tǒng)的小時(shí)、分鐘進(jìn)行調(diào)整。</p><p><b>  具有整點(diǎn)報(bào)時(shí)功能。</b></p><p><b>  1.2設(shè)計(jì)要求</b></p><p>  (1

9、) 采用VHDL語(yǔ)言編寫程序,并在QuartusII工具平臺(tái)中進(jìn)行開發(fā),下載到EDA實(shí)驗(yàn)箱進(jìn)行驗(yàn)證。</p><p> ?。?) 編寫設(shè)計(jì)報(bào)告,要求包括方案選擇、程序清單、調(diào)試過(guò)程、測(cè)試結(jié)果及心得體會(huì)。</p><p>  2.設(shè)計(jì)方案以及流程</p><p>  本設(shè)計(jì)由振蕩器、分頻器、計(jì)數(shù)器、譯碼器顯示器和校時(shí)電路組成。振蕩器提供穩(wěn)定的6M脈沖信號(hào),作為數(shù)字鐘的

10、時(shí)鐘,然后經(jīng)過(guò)分頻器分頻后輸出標(biāo)準(zhǔn)1HZ脈沖。中間變量計(jì)數(shù)十次后,生成秒信號(hào),秒計(jì)數(shù)器滿60后向分計(jì)數(shù)器進(jìn)位,分計(jì)數(shù)器滿60后向時(shí)鐘進(jìn)位,時(shí)計(jì)數(shù)器滿24后全部清零。</p><p>  此次設(shè)計(jì)的多功能數(shù)字鐘主要有四部分組成:</p><p>  分頻器部分:主要產(chǎn)生6MHZ的CLK的輸入脈沖信號(hào)。 </p><p>  開關(guān)控制部分:主要實(shí)現(xiàn)數(shù)字鐘的復(fù)位。 <

11、;/p><p>  EPM7064芯片部分:是整個(gè)數(shù)字鐘的核心部分。是程序?qū)懭胍约皩?duì)輸 入脈沖的接收與轉(zhuǎn)換控制。 </p><p>  數(shù)碼管顯示部分:6位數(shù)碼管動(dòng)態(tài)(2000HZ)顯示時(shí)、分、秒。</p><p><b>  2.1設(shè)計(jì)原理圖:</b></p><p>  圖1.數(shù)字鐘原理圖 <

12、/p><p><b>  2.2工程流程圖</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b>&l

13、t;/p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  執(zhí)行</b></p><p><b>  ↓</b></p><p>  圖2工程流程圖創(chuàng)建步驟</p><

14、;p><b>  3.程序設(shè)計(jì)</b></p><p><b>  3.1 秒鐘模塊</b></p><p>  此模塊主要由輸入端口clk=1HZ的頻率源作為計(jì)數(shù)器的時(shí)鐘,當(dāng)計(jì)數(shù)到59歸零并且時(shí)產(chǎn)生進(jìn)位carry=1作為分鐘的時(shí)鐘源。</p><p>  miao_60的源代碼:</p><p&

15、gt;  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity miao_60 is<

16、/p><p>  port(clk :in std_logic; --輸入1HZ的頻率 </p><p>  rst :in std_logic; --rst 復(fù)位</p><p>  shi: out std_logic_vector(3 downto 0); --秒的十位、個(gè)位&l

17、t;/p><p>  ge: out std_logic_vector(3 downto 0);</p><p>  carry :out std_logic ); --滿59s進(jìn)位給分鐘作頻率</p><p>  end entity miao_60;</p><p>  architecture art1 of miao_60

18、 is</p><p>  signal tem1: std_logic_vector(3 downto 0); --定義與端口等寬的信號(hào)</p><p>  signal tem2: std_logic_vector(3 downto 0); --位矢量</p><p><b>  begin</b></p><p&g

19、t;  process(clk,rst)</p><p><b>  begin</b></p><p>  if(rst='0' ) then</p><p>  tem1<="0000"; --復(fù)位時(shí)十、個(gè)位歸零</p><p>  tem2<="00

20、00";</p><p>  elsif clk'event and clk='1' then</p><p>  if tem1="1001" then --個(gè)位計(jì)到9時(shí)歸零</p><p>  tem1<="0000";</p><p>  if

21、 tem2="0101" then --十位到5時(shí)歸零</p><p>  tem2<="0000";</p><p>  carry<='1'; --給分鐘進(jìn)位作為分鐘的時(shí)鐘頻率</p><p><b>  else</b></p>

22、<p>  tem2<=tem2+1; carry<='0';</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  tem1<=tem1+1;</p><p><b>  end

23、if;</b></p><p><b>  end if;</b></p><p>  shi<=tem2;ge<=tem1;</p><p>  end process;</p><p><b>  end art1;</b></p><p>  m

24、iao_60的時(shí)序仿真波形如圖所示:</p><p>  圖3miao_60的時(shí)序仿真波形圖</p><p><b>  3.2分鐘模塊</b></p><p>  此模塊主要由輸入端口clk=carry的頻率源作為計(jì)數(shù)器的時(shí)鐘,當(dāng)計(jì)數(shù)到59歸零并且時(shí)產(chǎn)生進(jìn)位carry=1作為時(shí)鐘的時(shí)鐘源。</p><p>  fen_

25、60的源代碼:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p&g

26、t;  entity fen_60 is</p><p>  port(clk :in std_logic; --miao_60的進(jìn)位carry作為時(shí)鐘源</p><p>  rst :in std_logic; -- --rst 復(fù)位</p><p>  shi: out std_logic_vector(3 downto 0);

27、</p><p>  ge: out std_logic_vector(3 downto 0); ——分鐘的十、個(gè)位</p><p>  carry :out std_logic );</p><p>  end entity fen_60;</p><p>  architecture art1 of fen_60 is</

28、p><p>  signal tem1: std_logic_vector(3 downto 0); --定義與端口等寬的信號(hào)</p><p>  signal tem2: std_logic_vector(3 downto 0); --位矢量</p><p><b>  begin</b></p><p>  pr

29、ocess(clk,rst)</p><p><b>  begin</b></p><p>  if(rst='0' ) then</p><p>  tem1<="0000";</p><p>  tem2<="0000";</p>

30、<p>  elsif clk'event and clk='1' then</p><p>  if tem1="1001" then --當(dāng)個(gè)位計(jì)數(shù)到9時(shí),向十位進(jìn)位,并</p><p>  tem1<="0000"; --且個(gè)位歸零</p><p>  i

31、f tem2="0101" then </p><p>  tem2<="0000";</p><p>  carry<='1';</p><p><b>  else</b></p><p>  tem2<=tem2+1;carry<

32、;='0';</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  tem1<=tem1+1; end if;</p><p><b>  end if;</b></p><

33、;p>  shi<=tem2;ge<=tem1;</p><p>  end process;</p><p><b>  end art1;</b></p><p>  fen_60的時(shí)序仿真波形如圖所示:</p><p>  圖4 .fen_60的時(shí)序仿真波形圖</p><p&g

34、t;<b>  3.3時(shí)鐘模塊</b></p><p>  此模塊主要由輸入端口clk=carry(分鐘)的頻率源作為計(jì)數(shù)器的時(shí)鐘,當(dāng)計(jì)數(shù)到24歸零。</p><p>  hour_24源代碼:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;&

35、lt;/p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity hour_24 is</p><p>  port(clk :in std_logic;</p><p>  rst :

36、in std_logic;</p><p>  shi: out std_logic_vector(3 downto 0);</p><p>  ge: out std_logic_vector(3 downto 0);</p><p>  carry :out std_logic );</p><p>  end entity hour_

37、24;</p><p>  architecture art3 of hour_24 is</p><p>  signal tem1: std_logic_vector(3 downto 0);</p><p>  signal tem2: std_logic_vector(3 downto 0);</p><p><b>  b

38、egin</b></p><p>  process(clk,rst)</p><p><b>  begin</b></p><p>  if(rst='0' ) then</p><p>  tem1<="0011"; --復(fù)位時(shí)時(shí)鐘2位顯示23</p&

39、gt;<p>  tem2<="0010";</p><p>  elsif clk'event and clk='1' then</p><p>  if (tem2="0010" and tem1="0011") then</p><p>  tem1<

40、;="0000";</p><p>  tem2<="0000";</p><p>  carry<='1';</p><p><b>  else </b></p><p>  carry<='0';</p><

41、;p>  if tem1="1001" then</p><p>  tem1<="0000";</p><p>  tem2<=tem2+1;</p><p><b>  else</b></p><p>  tem1<=tem1+1;</p>

42、<p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end if; </p><p>  shi<=tem2;ge<=tem1;</p><p>  end process;</p

43、><p><b>  end art3;</b></p><p>  hour_24的時(shí)序仿真波形如圖所示:</p><p>  圖5..hour_24的時(shí)序仿真波形圖</p><p><b>  3.4分頻模塊</b></p><p>  此模塊主要給秒鐘模塊提供1HZ的時(shí)鐘頻

44、率用來(lái)計(jì)時(shí),同時(shí)分頻得到200HZ用來(lái)使6個(gè)數(shù)碼管動(dòng)態(tài)顯示。當(dāng)動(dòng)態(tài)顯示的時(shí)鐘頻率大于20ZH時(shí),由于人眼的錯(cuò)覺(jué)感覺(jué)6個(gè)數(shù)碼管同時(shí)在顯示。</p><p>  fenpin_1HZd的源代碼:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use

45、 ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity fenpin_1HZ is --對(duì)試驗(yàn)箱提供的6MHZ的頻率分 </p><p>  port( clk1 : in std_logic;

46、--頻得到1HZ的頻率</p><p>  qout : out std_logic );</p><p>  end entity; --分頻常數(shù)=提供時(shí)鐘頻率/需要的時(shí)</p><p>  architecture art7 of fenpin_1HZ is --鐘頻率</p><p&

47、gt;  constant counter: integer :=5999999; --分頻常數(shù)為6*10^6</p><p><b>  begin </b></p><p>  process(clk1, rst)</p><p>  variable cnt:integer range 0 to counter;</

48、p><p><b>  begin</b></p><p>  elsif clk1'event and clk1='1' then</p><p>  if cnt=counter then</p><p><b>  cnt:=0;</b></p><p&

49、gt;<b>  else</b></p><p>  cnt:=cnt+1;</p><p><b>  end if;</b></p><p>  case cnt is</p><p>  when 0 to counter/2=>qout<='0'; --使產(chǎn)

50、生的方波占空比</p><p>  when others =>qout<='1'; --等于50%</p><p><b>  end case;</b></p><p><b>  end if;</b></p><p>  end process;<

51、;/p><p><b>  end art7;</b></p><p>  fenpin_1HZ的時(shí)序仿真波形如圖所示:</p><p>  圖6.fenpin_1HZ的時(shí)序仿真波形</p><p>  fenpin_2000HZ源代碼:</p><p>  library ieee;</p&g

52、t;<p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity fenpin_2000HZ is --數(shù)碼管動(dòng)

53、態(tài)顯示的2000HZ</p><p>  port( clk200 : in std_logic;</p><p>  qout : out std_logic);</p><p>  end entity;</p><p>  architecture art6 of fenpin_2000HZ is</p><p>

54、;  constant counter: integer :=2999; --分頻常數(shù)為20000</p><p><b>  begin </b></p><p>  process(clk200, rst)</p><p>  variable cnt:integer range 0 to counter;</p>

55、;<p><b>  begin</b></p><p>  elsif clk200'event and clk200='1' then</p><p>  if cnt=counter then cnt:=0;</p><p>  else cnt:=cnt+1;</p><

56、p><b>  end if;</b></p><p>  case cnt is</p><p>  when 0 to counter/2=>qout<='0'; --產(chǎn)生均勻的方波</p><p>  when others =>qout<='1';</p>

57、<p><b>  end case;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end art6;</b></p><p>  fenpin_300HZ的時(shí)序仿真波形如圖所示

58、:</p><p>  圖7.fenpin_200HZ的時(shí)序仿真波形</p><p>  3.5數(shù)碼管控制模塊</p><p>  此模塊是實(shí)驗(yàn)最關(guān)鍵的一個(gè)部分,主要的作用是對(duì)前面的時(shí)鐘、分鐘、秒鐘模塊的顯示,實(shí)驗(yàn)箱對(duì)數(shù)碼的位選是通過(guò)74LS138譯碼器來(lái)實(shí)現(xiàn)的。(位選為低電平有效)</p><p>  wei_xuan源代碼:</p&

59、gt;<p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity wei

60、_xuan is</p><p>  port(clk: in std_logic;</p><p>  rst: in std_logic;</p><p>  se1: in std_logic_vector(3 downto 0); --第一個(gè)數(shù)碼管顯示的內(nèi)容</p><p>  se2: in std_logic_vector(3

61、 downto 0); ----第二個(gè)數(shù)碼管顯示的內(nèi)容</p><p>  se3: in std_logic_vector(3 downto 0); ----第三個(gè)數(shù)碼管顯示的內(nèi)容</p><p>  se4: in std_logic_vector(3 downto 0); -----第四個(gè)數(shù)碼管顯示的內(nèi)容</p><p>  se5: in std_lo

62、gic_vector(3 downto 0); ----第五個(gè)數(shù)碼管顯示的內(nèi)容</p><p>  se6: in std_logic_vector(3 downto 0); ----第六個(gè)數(shù)碼管顯示的內(nèi)容</p><p>  qout: out std_logic_vector(3 downto 0); --作為七段數(shù)碼管的輸入信號(hào)</p><p>  se

63、l: out std_logic_vector(2 downto 0) ); --接74ls138的輸入端</p><p>  end wei_xuan;</p><p>  architecture art4 of wei_xuan is</p><p><b>  begin</b></p><p>  proc

64、ess(clk,rst)</p><p>  variable cnt:integer range 0 to 5;</p><p><b>  begin</b></p><p>  if(rst='0') then </p><p><b>  cnt:=0;</b></p&

65、gt;<p>  sel<="XXX"; --復(fù)位時(shí)位選、輸出信號(hào)(seg7)不確定</p><p>  qout<="XXXX";</p><p>  elsif clk'event and clk='1' then</p><p>  if cnt=5 then c

66、nt:=0;</p><p>  else cnt:=cnt+1;</p><p><b>  end if;</b></p><p>  case cnt is</p><p>  when 0=>qout<=se1; sel<="000"; --第一個(gè)數(shù)碼管的驅(qū)動(dòng)信號(hào)<

67、;/p><p>  when 1=>qout<=se2;sel<="001";</p><p>  when 2=>qout<=se3;sel<="010";</p><p>  when 3=>qout<=se4;sel<="011";</p>

68、<p>  when 4=>qout<=se5;sel<="100";</p><p>  when 5=>qout<=se6;sel<="101";--第六個(gè)數(shù)碼管的驅(qū)動(dòng)信號(hào),羅列了case語(yǔ)句的所有可能,所以不需要when others、、、、、</p><p>  end case;

69、 </p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end art4;</b></p><p>  wei_xuan的時(shí)序仿真波形如圖所示:</p><p>  圖8.wei_xuan的時(shí)序

70、仿真波形</p><p>  3.6七段譯碼顯示模塊</p><p>  此模塊是將位選的信號(hào)譯碼為十進(jìn)數(shù)在數(shù)碼管上顯示,實(shí)驗(yàn)箱為高電平點(diǎn)亮。</p><p><b>  seg7源代碼:</b></p><p>  library ieee;</p><p>  use ieee.std_log

71、ic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity seg7 is</p><p>  port(qin:in std_logic_vector(3 downto 0);

72、 --數(shù)碼管的輸入信號(hào)</p><p>  qout:out std_logic_vector(7 downto 0) ); --七段譯碼對(duì)應(yīng)的編碼</p><p><b>  end seg7;</b></p><p>  architecture art5 of seg7 is</p><p><b>

73、;  begin </b></p><p>  with qin select</p><p>  qout<="00000011" when "0000", -- 顯示0~9</p><p>  "10011111" when "0001",</p>

74、;<p>  "00100101" when "0010",</p><p>  "00001101" when "0011",</p><p>  "10011001" when "0100",</p><p>  "01

75、001001" when "0101",</p><p>  "01000001" when "0110",</p><p>  "00011111" when "0111",</p><p>  "00000001" when &quo

76、t;1000",</p><p>  "00011001" when "1001",</p><p>  "XXXXXXXX" when others; --數(shù)碼管顯示不確定 </p><p><b>  end art5;</b></p><p

77、>  seg7的時(shí)序仿真波形如圖所示:</p><p>  圖9.seg7的時(shí)序仿真波形</p><p><b>  3.7頂層模塊</b></p><p>  頂層模塊主要是把各個(gè)模塊通過(guò)映射連接起來(lái),實(shí)現(xiàn)工程。其模塊用到了元件定義和例化語(yǔ)句,在這里當(dāng)前設(shè)計(jì)實(shí)體相當(dāng)于一個(gè)較大的電路系統(tǒng),所定義的例化元件相當(dāng)于一個(gè)要插在這個(gè)電路系統(tǒng)板上的

78、芯片,而當(dāng)前設(shè)計(jì)實(shí)體中指定的端口則相當(dāng)于這快電路板上準(zhǔn)備接受此芯片的一個(gè)插座。</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_log

79、ic_arith.all;</p><p>  entity shuzizhong is --頂層實(shí)體定義</p><p>  port( clk :in std_logic; --外界時(shí)鐘源</p><p>  rest :in std_logic; --復(fù)位、開關(guān)</p><p>  wei :ou

80、t std_logic_vector(2 downto 0); --數(shù)碼管位選</p><p>  duan :out std_logic_vector(7 downto 0) ); --數(shù)碼管譯碼</p><p>  end entity;</p><p>  architecture art of shuzizhong is</p>&l

81、t;p>  component miao_60 is --秒鐘模塊元件定義語(yǔ)句 </p><p>  port(clk :in std_logic;</p><p>  rst :in std_logic;</p><p>  shi: out std_logic_vector(3 downto 0);</p>

82、<p>  ge: out std_logic_vector(3 downto 0);</p><p>  carry :out std_logic );</p><p>  end component miao_60; </p><p>  component fen_60 is --分鐘模塊元件定義語(yǔ)句</p>

83、<p>  port(clk :in std_logic;</p><p>  rst :in std_logic;</p><p>  shi: out std_logic_vector(3 downto 0);</p><p>  ge: out std_logic_vector(3 downto 0);</p><p>  c

84、arry :out std_logic );</p><p>  end component fen_60;</p><p>  component hour_24 is --小時(shí)模塊元件定義語(yǔ)句</p><p>  port(clk :in std_logic; </p><p>  rst :in

85、std_logic;</p><p>  shi: out std_logic_vector(3 downto 0);</p><p>  ge: out std_logic_vector(3 downto 0);</p><p>  carry :out std_logic );</p><p>  end component hour

86、_24;</p><p>  component wei_xuan is ----位選模塊元件定義語(yǔ)句</p><p>  port(clk: in std_logic;</p><p>  rst: in std_logic;</p><p>  se1: in std_logic_vector(3 down

87、to 0);</p><p>  se2: in std_logic_vector(3 downto 0);</p><p>  se3: in std_logic_vector(3 downto 0); </p><p>  se4: in std_logic_vector(3 downto 0);</p><p>  se5: in st

88、d_logic_vector(3 downto 0);</p><p>  se6: in std_logic_vector(3 downto 0);</p><p>  qout: out std_logic_vector(3 downto 0);</p><p>  sel: out std_logic_vector(2 downto 0) );</p&

89、gt;<p>  end component wei_xuan;</p><p>  component seg7 is --七段譯碼模塊元件定義語(yǔ)句</p><p>  port( qin:in std_logic_vector(3 downto 0);</p><p>  qout:out std_log

90、ic_vector(7 downto 0) );</p><p>  end component seg7;</p><p>  component fenpin_300HZ is --20000分頻模塊元件定義語(yǔ)句</p><p>  port( clk200 : in std_logic;</p><p>  rst :

91、 in std_logic;</p><p>  qout : out std_logic);</p><p>  end component fenpin_2000HZ;</p><p>  component fenpin_1HZ is -6*10^6分頻模塊元件定義語(yǔ)句</p><p>  port( clk1

92、 : in std_logic;</p><p>  rst : in std_logic;</p><p>  qout : out std_logic);</p><p>  end component fenpin_1HZ; </p><p>  signal c1,c2,s0,s1,s2:std_logic; --原件例化語(yǔ)句&

93、lt;/p><p>  signal q1,q2,q3,q4,q5,q6,s_eg: std_logic_vector(3 downto 0); --申明的中間信號(hào) begin -- 用來(lái)連接不同的模塊</p><p>  u0: fenpin_2000HZ port map(clk

94、300=>clk,rst=>rest,qout=>s0);</p><p>  u1: fenpin_1HZ port map(clk1=>clk, rst=>rest,qout=>s1);</p><p>  u2: miao_60 port map(clk=>s1,rst=>rest,shi=>q1,g

95、e=>q2, carry=>c1 );</p><p>  u3: fen_60 port map(clk=>c1,rst=>rest,shi=>q3,ge=>q4, carry=>c2 );</p><p>  u4: hour_24 port map(clk=>c2,rst=>rest,shi=>q5,ge

96、=>q6);</p><p>  u5: wei_xuan port map(clk=>s0,rst=>rest,se1=>q5,se2=>q6, </p><p>  se3=>q3,se4=>q4,se5=>q1,se6=>q2,qout=>s_eg,sel=>wei);</p><p>

97、  u6: seg7 port map(qin=>s_eg,qout=>duan );</p><p><b>  end art;</b></p><p>  shuzizhong的時(shí)序仿真波形如圖所示:</p><p>  圖10.shuzizhong時(shí)序仿真波形</p><p><

98、b>  4.硬件測(cè)試</b></p><p><b>  4.1管腳的分配</b></p><p>  當(dāng)vhdl源程序編譯沒(méi)有問(wèn)題時(shí),對(duì)程序做時(shí)序仿真、引腳分配、最后燒寫程序得到EP1K30TC144-3芯片中觀察硬件現(xiàn)象。</p><p>  圖11. 管腳的分配</p><p><b>

99、  4.2調(diào)試</b></p><p><b>  硬件現(xiàn)象:</b></p><p>  1、亮起六個(gè)數(shù)碼管(前面三個(gè),后面三個(gè)中間的一個(gè)不亮)。</p><p>  2、分鐘、時(shí)鐘的位置錯(cuò)亂。</p><p>  3、數(shù)碼管動(dòng)態(tài)顯示和標(biāo)準(zhǔn)的時(shí)鐘顯示視覺(jué)效果不一樣,感覺(jué)就是一個(gè)徹底的計(jì)數(shù)器。</p&g

100、t;<p>  軟件修改:根據(jù)以上現(xiàn)象初步判斷只需修改U5:wei_xuan元件例化語(yǔ)句。修改前u5: wei_xuan port map(clk=>s0,rst=>rest,se1=>q5,se2=>q6, </p><p>  se3=>q3,se4=>q4,se5=>q1,se6=>q2,</p><p>  qo

101、ut=>s_eg,sel=>wei);</p><p>  修改后u5: wei_xuan port map(clk=>s0,rst=>rest,se1=>q1,se2=>q2, </p><p>  se3=>q3,se4=>q4,se5=>q5,se6=>q6,</p><p>  qout=&

102、gt;s_eg,sel=>wei);</p><p>  修改后數(shù)碼管的顯示位置符合設(shè)計(jì)要求。數(shù)碼管的動(dòng)態(tài)顯示效果不是很好主要是所需要的動(dòng)態(tài)的頻率較低,后來(lái)我們用了300HZ的頻率與設(shè)計(jì)的要求一致。</p><p><b>  4.3實(shí)驗(yàn)現(xiàn)象</b></p><p><b>  圖12.實(shí)驗(yàn)現(xiàn)象圖</b></p

103、><p><b>  5.總結(jié)</b></p><p>  這次課程設(shè)計(jì),我組完成的是基于FPGA的數(shù)字時(shí)鐘的設(shè)計(jì),期間我們遇到一些問(wèn)題,通過(guò)查閱相關(guān)書籍、相互討論和老師熱心的指導(dǎo),最終我們?cè)O(shè)計(jì)出了電路圖,又經(jīng)過(guò)上機(jī)仿真并且不斷的修改、完善設(shè)計(jì)。經(jīng)過(guò)這次設(shè)計(jì)我發(fā)現(xiàn)的問(wèn)題,就是我們理論知識(shí)和實(shí)踐操作不能很好的結(jié)合、遇到到問(wèn)題不能及時(shí)解決。只有認(rèn)真做好課程設(shè)計(jì)才能夠提升一些實(shí)

104、踐能力。</p><p>  在設(shè)計(jì)之中我們首先要根據(jù)要求編寫VHDL源程序,并且編譯無(wú)錯(cuò)誤,然后,要對(duì)實(shí)驗(yàn)室提供的實(shí)驗(yàn)箱相關(guān)的電路模塊要有所了解。比如,實(shí)驗(yàn)箱上數(shù)碼管的位選是通過(guò)74ls138譯碼器輸出低電平有效來(lái)選擇的,動(dòng)態(tài)顯示則需要大于20HZ的頻率源。細(xì)節(jié)上比如數(shù)碼管的每段是高電平點(diǎn)亮,這里我們剛開始用的是低電平結(jié)果顯示的是亂碼修改后就得到正確的結(jié)果了。本次實(shí)驗(yàn)就這里的問(wèn)題較大,也是設(shè)計(jì)成功的關(guān)鍵。頂層模

105、塊的原理圖也很重要,因?yàn)樵韴D出來(lái)后解決問(wèn)題就比較容易了。</p><p><b>  6.老師點(diǎn)評(píng)</b></p><p><b>  參考書目:</b></p><p>  [1] 譚會(huì)生,張昌凡,《EDA技術(shù)及應(yīng)用》,西安,西安電子科技大學(xué)出版社,2011年</p><p>  [2] 聶

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論