2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  課 程 設 計 報 告</p><p>  課程名稱 數字系統與邏輯設計 </p><p>  課題名稱 16*16點陣顯示 </p><p>  專 業 通信工程 </p><p>  班 級

2、 </p><p>  學 號 </p><p>  姓 名 </p><p>  指導教師 </p><p>  2013年 7 月 7 日</p>

3、<p>  《數字系統與邏輯設計》課程設計任務書</p><p><b>  一 、設計目的</b></p><p>  全面熟悉、掌握VHDL語言基本知識,掌握利用VHDL語言對常用的的組合邏輯電路和時序邏輯電路編程,把編程和實際結合起來,熟悉編制和調試程序的技巧,掌握分析結果的若干有效方法,進一步提高上機動手能力,培養使用設計綜合電路的能力,養成提供文

4、檔資料的習慣和規范編程的思想。 </p><p><b>  二、設計要求</b></p><p>  1、設計正確,方案合理。</p><p>  2、程序精煉,結構清晰。</p><p>  3、設計報告5000字以上,含程序設計說明,用戶使用說明,源程序清單及程序框圖。</p><p>&l

5、t;b>  4、上機演示。</b></p><p>  5、有詳細的文檔。文檔中包括設計思路、設計仿真程序、仿真結果及相應的分析與結論。 </p><p><b>  三、進度安排</b></p><p>  第十九周 星期一: 課題講解,查閱資料</p><p>  星期二: 總體設計,詳細設計

6、</p><p>  星期三: 編程,上機調試、修改程序</p><p>  星期四: 上機調試、完善程序</p><p><b>  星期五: 答辯</b></p><p>  星期六-星期天:撰寫課程設計報告</p><p><b>  附:</b></p&g

7、t;<p>  課程設計報告裝訂順序:封面、任務書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。 </p><p>  正文的格式:一級標題用3號黑體,二級標題用四號宋體加粗,正文用小四號宋體;行距為22。</p><p>  正文的內容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實現;四、系統調試與仿真;五、總結與體會;六、附件

8、(所有程序的原代碼,要求對程序寫出必要的注釋);七、評分表</p><p><b>  目錄</b></p><p>  1. 16*16點陣顯示的總體設計2</p><p>  1.1 16*16點陣顯示的原理2</p><p>  1.2 設計要求3</p><p>  1.3 基本設計

9、思路3</p><p>  2 16*16點陣顯示的功能實現3</p><p>  2.1 本次設計的基本原理:3</p><p>  2.2 系統的總體框圖4</p><p>  3 模塊功能實現4</p><p>  3.1 八進制計數器4</p><p>  3.2十六進制計

10、數器7</p><p>  3.3 每來一千個時鐘輸出一個數8</p><p>  3.4字體顯示設計9</p><p>  4 系統的調試與仿真13</p><p>  4.1創建工程13</p><p>  4.2 編譯前設置13</p><p>  4.3 開始調試與仿真13

11、</p><p>  5 用戶使用說明15</p><p>  6 心得體會:16</p><p><b>  7 附錄17</b></p><p>  1. 16*16點陣顯示的總體設計</p><p>  1.1 16*16點陣顯示的原理</p><p>  本實

12、驗主要完成漢字字符在LED 上的顯示,16*16 掃描LED 點陣的工作原理與8 位掃描數碼管類似,只是顯示的方式與結果不一樣而已。16*16 點陣由此256 個LED 通過排列組合而形成16 行*16 列的一個矩陣式的LED 陣列,俗稱16*16 點陣。單個led的原理結構圖如下所示:</p><p>  其中Rn端為高電平且Cn端為低電平時,電路形成一個回路,則LED顯示為燈亮。。16*16 點陣也就是由16

13、 行和16 列的LED 組成,其中每一行的所有16 個LED的Rn 端并聯在一起,每一列的所有16 個LED 的Cn 端并聯在一起。通過給Rn 輸入一個高電平,也就相當于給這一列所有LED 輸入了一個高電平,這時只要某個LED 的Cn 端輸入一個低電平時,對應的LED 就會被點亮。具體的電路如下:</p><p>  且每一秒換一個字。點陣LED一般采用掃描式顯示,實際運用分為三種方式: </p>

14、<p><b> ?。?)點掃描</b></p><p><b> ?。?)行掃描</b></p><p><b> ?。?)列掃描</b></p><p>  若使用第一種方式,其掃描頻率必須大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三種方式,則頻率必須大于

15、16×8=128Hz,周期小于7.8ms即可符合視覺暫留要求。此外一次驅動一列或一行(8顆LED)時需外加驅動電路提高電流,否則LED亮度會不足。</p><p>  16×16掃描LED點陣的工作原理同8位掃描數碼管類似。它有16個共陰極輸出端口,每個共陰極對應有16個LED顯示燈,所以其掃描譯碼地址需4位信號線(SEL0-SEL3),其漢字掃描碼由16位段地址(0-15)輸入。 通過時鐘的

16、每列掃描顯示完整漢字。</p><p><b>  1.2 設計要求</b></p><p>  使用FPGA設計一個16×16的點陣顯示的控制器,使點陣顯示器以兩種花樣顯示“湖南工程學院”, </p><p>  1.3 基本設計思路</p><p>  使用FPGA設計一個16×16的點陣顯示的控

17、制器,使點陣顯示器以兩種花樣顯示“湖南工程學院”。</p><p>  這樣這些字就好象是被我們當作了固定模型了。但如何點亮這些燈呢,這就要求有一個脈沖循環掃描的電路,我們采用列掃描,當掃描的和我們先設計好的字模型的高電平相匹配時,燈就相應的點亮。由于掃描的速度很快,我們人的眼睛并不會感到燈的閃爍,所以每掃描完16列就會顯示在我們眼中一個字了。但要所有的字母就可以依次的顯示出來并不停的循環顯示,就還要再有一個時序

18、控制電路來控制。此時序控制電路象一個計數器,有自動清零的功能,這樣就可以實現循環的效果了。其設計原理圖框圖如下</p><p>  2 16*16點陣顯示的功能實現</p><p>  2.1 本次設計的基本原理:</p><p>  LED點陣每個點都有一個紅色的發光二極管。點陣內的二極管間的連接都是行共陽,列共陰。本實驗采用共陰,當二極管的共陽極為高電平,共陰

19、極為低電平時,所接點發光;反之處于截止狀態,不放光。本實驗采取行掃描方式,用列給文字信息,利用周期為1s的脈沖來控制所顯示的字。</p><p>  本設計由8進制計數器(CNT8),16進制計數器(CNT16),字體顯示驅動(XIANSHI)和列驅動(HANG)組成。</p><p>  2.2 系統的總體框圖</p><p><b>  3 模塊功能實

20、現</b></p><p>  3.1 八進制計數器</p><p>  .六進制計數器當每一個時鐘上升沿到來時,計數器就記一次數。其程序如 下:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use

21、 ieee.std_logic_unsigned.all;</p><p>  entity yangwei is</p><p>  port(clk:in std_logic;</p><p>  datain:buffer std_logic_vector(3 downto 0));</p><p>  end yangwei;<

22、/p><p>  architecture b of yangwei is</p><p><b>  begin</b></p><p>  process(clk)</p><p><b>  begin</b></p><p>  if clk'event and

23、clk='1' then </p><p>  if datain=7 then datain<="0000" ; </p><p>  else datain<=datain+1;</p><p><b>  end if;</b></p><p><b&g

24、t;  end if;</b></p><p>  end process;</p><p><b>  end b;</b></p><p><b>  其仿真波形:</b></p><p>  datain為列驅動控制器,該模塊控制所亮的行,當輸出為1000000000000000時

25、,給點陣的第一行高電平,輸出為0100000000000000時,給點陣的第二行高電平,依次類推,逐次給每行高電平。其程序如下</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><

26、;p>  ENTITY yw IS</p><p>  PORT(datain : IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  row : OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p>  END ENTITY yw;</p><p>  ARCHITE

27、CTURE BEHV OF yw IS</p><p><b>  BEGIN</b></p><p>  PROCESS(datain)</p><p><b>  BEGIN</b></p><p>  case datain is</p><p>  when &quo

28、t;0000"=> row<="1000000000000000";</p><p>  when "0001"=> row<="0100000000000000";</p><p>  when "0010"=> row<="00100000000000

29、00";</p><p>  when "0011"=> row<="0001000000000000";</p><p>  when "0100"=> row<="0000100000000000";</p><p>  when "010

30、1"=> row<="0000010000000000";</p><p>  when "0110"=> row<="0000001000000000";</p><p>  when "0111"=> row<="0000000100000000&qu

31、ot;;</p><p>  when "1000"=> row<="0000000010000000";</p><p>  when "1001"=> row<="0000000001000000";</p><p>  when "1010&quo

32、t;=> row<="0000000000100000";</p><p>  when "1011"=> row<="0000000000010000";</p><p>  when "1100"=> row<="0000000000001000";&

33、lt;/p><p>  when "1101"=> row<="0000000000000100";</p><p>  when "1110"=> row<="0000000000000010";</p><p>  when "1111"=&g

34、t; row<="0000000000000001";</p><p>  when others=> row<="0000000000000000";</p><p><b>  END case;</b></p><p>  end process;</p><p

35、>  END ARCHITECTURE BEHV;</p><p><b>  其仿真波形:</b></p><p>  這為行掃描輸出,當輸出為0001時,給點陣的第一行高電平,輸出為0010時,給點陣的第二行高電平,依次類推,逐次給每行高電平。</p><p>  3.2十六進制計數器</p><p>  CO

36、UNT16.vhd是16進制的計數器,其輸出端控制行和列驅動控制器的輸出數據;其描述如下:</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY yw

37、IS</p><p>  PORT( CLK : IN STD_LOGIC;</p><p>  datain : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END ENTITY yw;</p><p>  ARCHITECTURE BEHV OF yw IS</p><p&

38、gt;  SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK)</p><p><b>  BEGIN</b></p><p>  IF (CLK'EVENT AND

39、 CLK='1') THEN</p><p>  CQI<=CQI+1;</p><p><b>  END IF;</b></p><p>  datain<=CQI;</p><p>  END PROCESS;</p><p>  END ARCHITECTURE

40、 BEHV;</p><p><b>  仿真如下</b></p><p>  3.3 每來一千個時鐘輸出一個數</p><p>  Signal c : integer ranger 0 to 1024;</p><p>  B:process(clk)</p><p><b>  b

41、egin</b></p><p>  if clk'event and clk='1' then</p><p>  datain<=datain+1 ;</p><p>  if c<1000 then </p><p><b>  c<=c+1;</b></

42、p><p><b>  else </b></p><p><b>  c<=0;</b></p><p>  if we<5 then we<=we+1;</p><p>  else we<="000";</p><p><b

43、>  end if;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  該程序的作用主要是每來一個時鐘時,c的值加一,直到C的值>1000時,則C清零,再從新加過。且輸入下一個數,換句話說,就是經過一千次的時鐘上升沿,

44、輸出一個數。</p><p><b>  3.4字體顯示設計</b></p><p>  在字體顯示控制器,we控制的是所顯示的字。例如當we為000時,表示顯示第一個字;當we為001H時,表示顯示第二個字,依次類推。WEI控制所顯示的為字的第幾行,例如當datain為0000時,表示輸出字的第一行文字信息;datain為0001時,表示輸出字的第二行文字信息,依次

45、類推。其描述如下:</p><p>  PROCESS(we,datain)</p><p><b>  begin</b></p><p>  case we is</p><p>  when "000"=></p><p>  case datain is</

46、p><p>  when "0000" =>dout<="0000000000000000"; </p><p>  when "0001" =>dout<="0100000000001000"; </p><p>  when "0010"

47、 =>dout<="0010000000001111"; </p><p>  when "0011" =>dout<="0001000010001001";</p><p>  when "0100" =>dout<="0000000010001001&quo

48、t;;</p><p>  when "0101" =>dout<="0100000010001111";</p><p>  when "0110" =>dout<="0010011111111001";</p><p>  when "0111&

49、quot; =>dout<="0001000010001001";</p><p>  when "1000" =>dout<="0000000010001111";</p><p>  when "1001" =>dout<="000000111110100

50、1";</p><p>  when "1010" =>dout<="0000101000101001";</p><p>  when "1011" =>dout<="0001001000101001";</p><p>  when "

51、1100" =>dout<="0010001111101001";</p><p>  when "1101" =>dout<="0100000000010011";</p><p>  when "1110" =>dout<="0100000000

52、100001";</p><p>  when "1111" =>dout<="0000000000000000"; </p><p>  when others=>dout<=null; end case;</p><p>  When &q

53、uot;001"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p><p>  when "0001" =>dout<="0000000001

54、000000";</p><p>  when "0010" =>dout<="0000000010000000";</p><p>  when "0011" =>dout<="0001111111111000";</p><p>  when &

55、quot;0100" =>dout<="0000001000000000";</p><p>  when "0101" =>dout<="0000010000000000";</p><p>  when "0110" =>dout<="00001

56、11111111000";</p><p>  when "0111" =>dout<="0000101000101000";</p><p>  when "1000" =>dout<="0000100101001000";</p><p>  w

57、hen "1001" =>dout<="0000101111101000";</p><p>  when "1010" =>dout<="0000100010001000";</p><p>  when "1011" =>dout<="

58、0000101111101000";</p><p>  when "1100" =>dout<="0000100010001000";</p><p>  when "1101" =>dout<="0000100010001000";</p><p&g

59、t;  when "1110" =>dout<="0000000000000000";</p><p>  when "1111" =>dout<="0000000000000000";</p><p>  when others=>dout<=null; end cas

60、e;</p><p>  When "010"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000"; </p><p>  when "0001"

61、; =>dout<="0000000000001000"; </p><p>  when "0010" =>dout<="0111111111111100"; </p><p>  when "0011" =>dout<="0000000100000000&

62、quot;; </p><p>  when "0100" =>dout<="0000000100000000"; </p><p>  when "0101" =>dout<="0000000100000000"; </p><p>  when "

63、;0110" =>dout<="0000000100000000"; </p><p>  when "0111" =>dout<="0000000100000000"; </p><p>  when "1000" =>dout<="0000000

64、100000000"; </p><p>  when "1001" =>dout<="0000000100000000"; </p><p>  when "1010" =>dout<="0000000100000000"; </p><p>  

65、when "1011" =>dout<="0000000100000000"; </p><p>  when "1100" =>dout<="0000000100000100"; </p><p>  when "1101" =>dout<=&qu

66、ot;1111111111111110"; </p><p>  when "1110" =>dout<="0000000000000000"; </p><p>  when "1111" =>dout<="0000000000000000";

67、 </p><p>  when others=>dout<=null; end case;</p><p>  When "011"=></p><p>  case datain is</p><p>  when "0000" =>dout<=

68、"0000000000000000";</p><p>  when "0001" =>dout<="0000010000000000";</p><p>  when "0010" =>dout<="0000100000000000";</p>&

69、lt;p>  when "0011" =>dout<="0001000011111000";</p><p>  when "0100" =>dout<="0111000010001000";</p><p>  when "0101" =>dout

70、<="0001000010001000";</p><p>  when "0110" =>dout<="0001000011111000";</p><p>  when "0111" =>dout<="0111111000000000";</p&g

71、t;<p>  when "1000" =>dout<="0001000111111100";</p><p>  when "1001" =>dout<="0011100000100000";</p><p>  when "1010" =>

72、;dout<="0101010111111100";</p><p>  when "1011" =>dout<="1001010000100000";</p><p>  when "1100" =>dout<="1001001000100000";<

73、;/p><p>  when "1101" =>dout<="0001000111111100";</p><p>  when "1110" =>dout<="0001000000000000";</p><p>  when "1111"

74、 =>dout<="0000000000000000";</p><p>  when others=>dout<=null;end case;</p><p>  When "100"=></p><p>  case datain is</p><p>  when &

75、quot;0000" =>dout<="0010001000001000"; </p><p>  when "0001" =>dout<="0001000100001000"; </p><p>  when "0010" =>dout<="000

76、0000000000000"; </p><p>  when "0011" =>dout<="0000000000100000"; </p><p>  when "0100" =>dout<="0111111111111110"; </p><p&g

77、t;  when "0101" =>dout<="0100000000000010"; </p><p>  when "0110" =>dout<="1000000000000100"; </p><p>  when "0111" =>dout<

78、="0001111111100000"; </p><p>  when "1000" =>dout<="0000000001000000"; </p><p>  when "1001" =>dout<="0000000110000100"; </p>

79、;<p>  when "1010" =>dout<="1111111111111110"; </p><p>  when "1011" =>dout<="0000000100000000"; </p><p>  when "1100" =&g

80、t;dout<="0000000100000000"; </p><p>  when "1101" =>dout<="0000000100000000"; </p><p>  when "1110" =>dout<="0000010100000000";

81、 </p><p>  when "1111" =>dout<="0000001000000000"; </p><p>  when others=>dout<=null; end case;</p><p>  When "101&quo

82、t;=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p><p>  when "0001" =>dout<="0000100001100000"

83、;;</p><p>  when "0010" =>dout<="0001010000010000";</p><p>  when "0011" =>dout<="0010001011111110";</p><p>  when "0100&q

84、uot; =>dout<="0010001100000001";</p><p>  when "0101" =>dout<="0011110100111001";</p><p>  when "0110" =>dout<="0010110000000000

85、";</p><p>  when "0111" =>dout<="0010001011111110";</p><p>  when "1000" =>dout<="0011101000101000";</p><p>  when "1

86、001" =>dout<="0010010000101000";</p><p>  when "1010" =>dout<="0010000000101000";</p><p>  when "1011" =>dout<="00100000011

87、01000";</p><p>  when "1100" =>dout<="0010000001001010";</p><p>  when "1101" =>dout<="0010000010001111";</p><p>  when &q

88、uot;1110" =>dout<="0000000000000000";</p><p>  when "1111" =>dout<="0000000000000000"; </p><p>  when others=>dout<=null; end case

89、;when others=>null;</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  end one;</b></p><p>  4 系統的調試與仿真</p><p><b>

90、;  4.1創建工程</b></p><p>  在Quartus II 中新建一個VHDL File文件,將VHDL代碼輸入這個文件,并保存到工作目錄,名為yw。</p><p>  利用new preject wizard 工具創建一個工程,工程名為ywk,頂層文件實體名為 yw,并將上面創建的yw文件加入到工程中。</p><p><

91、;b>  4.2 編譯前設置</b></p><p>  選擇目標芯片。用assignmemts-settings命令,彈出settings對話框,選擇目標芯片為EP2C35F72C6。</p><p>  4.3 開始調試與仿真</p><p>  整個系統的調試與仿真如下圖:</p><p><b>  調試失

92、?。?lt;/b></p><p><b>  找出并更改錯誤</b></p><p><b>  則調試成功時</b></p><p><b>  此時調試成功</b></p><p><b>  仿真成功時的圖形</b></p>&

93、lt;p><b>  5 用戶使用說明</b></p><p>  先將各個引腳按引腳分配表分配好,再將該源程序下載到試驗箱里,再按相應操作將“湖南工程學院”顯示出來即可。</p><p>  16*16 LED點陣顯示</p><p><b>  顯示:</b></p><p>  16&#

94、215;16 點陣LED 模塊</p><p><b>  6 心得體會:</b></p><p>  這次做EDA課設的報告,是有關16*16點陣的顯示的??偣沧鲞@個EDA課程設計花了四天的時間。雖然很辛苦,很累人也很想放棄,但當每次想要放棄想要不了了之的時候重新振奮心態開始工作自己也每次都有不一樣的收獲,每次都能重新認識自己,這次的課程設計就給了我這么的體會。&l

95、t;/p><p>  通過這次設計,進一步加深了對EDA的了解也從中獲益不少,不僅彌補了平時理論知識的一些不足,還使我們領悟到許多做人處事的道理,比如不懂時就去向他人詢問能更快更好地解決困難,和別人互相幫助能使兩人更有效率的解決問題。但要說一下子就迷上了EDA什么的話,這就有些什么自欺欺人了,但肯定的是對EDA這一科的感覺比從前好多了,這是毋庸置疑的。我想無論是誰,但真正想要去了解那個難題解決一些難題,并有所回報的話

96、,心里感覺不到激動那是不可能的。就是因為這種經歷讓我對這門課有了完全不懂得理解,覺得好好學好這門課,編寫一些比較難的程序,也許還真的是挺好不過的。</p><p>  在這次課程設計中,碰到的困難是前所未有的,從來沒覺得有什么程序這么難寫,以前學習EDA這門課程時就覺得很難,現在到真正的做設計的時候更不知道如何著手,只有得從頭再慢慢邊學邊做了。我找了些關于EDA入門和電子設計的書來看。一看就是幾天,但還是沒能構建

97、出整體思路。但這和以前那些實驗課上的內容相比簡直就是天壤之別啊。雖然這的課程設計只有短短的四天,但是這依舊是身體和精神上的折磨,經過了各種掙扎,甚至晚上還加班到一點鐘,還是不能全部理解,真是叫人不好受。好在老師的講解真的很容易讓人聽懂,明明自己覺得很難得問題在老師的一下子就覺得也就那樣,不過新的問題也接連不斷的來。舊的解決了,新的又來了,想必自己也在這新與舊之間進步了吧。</p><p>  本次設計使我對LED

98、點陣顯示原理及電路結構有一定的感性和理性認識,同時也對WORD的運用有了大體的掌握;培養和鍛煉敢于我們的實際動手做東西的能力。使我們的理論知識與實踐充分地結合,作到不僅具有專業知識,而且還具有較強的實踐動手能力??偟膩碚f,這次的課設我自己感覺不是很滿意,在課設中存在的問題有太多了,而且很多是一些很簡單的問題,總之這次課設給自己磨練很多也很沉,還有希望在下次的課設中能更加熟練。</p><p><b> 

99、 7 附錄</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity yw is</p><p>  port

100、( clk:in std_logic;</p><p>  dout:out std_logic_vector(15 downto 0);</p><p>  row:out std_logic_vector(15 downto 0));</p><p><b>  end yw;</b></p><p>  arch

101、itecture one of yw is</p><p>  signal we : std_logic_vector(2 downto 0);</p><p>  signal datain: std_logic_vector(3 downto 0);</p><p>  signal c : integer range 0 to 1023;</p>

102、;<p><b>  begin</b></p><p>  A:process(datain)</p><p><b>  begin</b></p><p>  case datain is</p><p>  when "0000"=> row<=

103、"1000000000000000";</p><p>  when "0001"=> row<="0100000000000000";</p><p>  when "0010"=> row<="0010000000000000";</p><p

104、>  when "0011"=> row<="0001000000000000";</p><p>  when "0100"=> row<="0000100000000000";</p><p>  when "0101"=> row<="

105、;0000010000000000";</p><p>  when "0110"=> row<="0000001000000000";</p><p>  when "0111"=> row<="0000000100000000";</p><p> 

106、 when "1000"=> row<="0000000010000000";</p><p>  when "1001"=> row<="0000000001000000";</p><p>  when "1010"=> row<="0000

107、000000100000";</p><p>  when "1011"=> row<="0000000000010000";</p><p>  when "1100"=> row<="0000000000001000";</p><p>  when

108、 "1101"=> row<="0000000000000100";</p><p>  when "1110"=> row<="0000000000000010";</p><p>  when "1111"=> row<="000000000

109、0000001";</p><p>  when others=> row<="0000000000000000";</p><p><b>  END case;</b></p><p>  end process A ;</p><p>  B:process(clk)<

110、;/p><p><b>  begin</b></p><p>  if clk'event and clk='1' then</p><p>  datain<=datain+1 ;</p><p>  if c<1000 then </p><p><b&

111、gt;  c<=c+1;</b></p><p><b>  else </b></p><p><b>  c<=0;</b></p><p>  if we<5 then we<=we+1;</p><p>  else we<="000&qu

112、ot;;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process B;</p><p>  PROCESS(w

113、e,datain)</p><p><b>  begin</b></p><p>  case we is</p><p>  when "000"=></p><p>  case datain is</p><p>  when "0000"

114、=>dout<="0000000000000000"; </p><p>  when "0001" =>dout<="0100000000001000"; </p><p>  when "0010" =>dout<="0010000000001111&quo

115、t;; </p><p>  when "0011" =>dout<="0001000010001001";</p><p>  when "0100" =>dout<="0000000010001001";</p><p>  when "0101

116、" =>dout<="0100000010001111";</p><p>  when "0110" =>dout<="0010011111111001";</p><p>  when "0111" =>dout<="00010000100010

117、01";</p><p>  when "1000" =>dout<="0000000010001111";</p><p>  when "1001" =>dout<="0000001111101001";</p><p>  when "

118、;1010" =>dout<="0000101000101001";</p><p>  when "1011" =>dout<="0001001000101001";</p><p>  when "1100" =>dout<="001000111

119、1101001";</p><p>  when "1101" =>dout<="0100000000010011";</p><p>  when "1110" =>dout<="0100000000100001";</p><p>  when

120、"1111" =>dout<="0000000000000000"; </p><p>  when others=>dout<=null; end case;</p><p>  When "001"=></p><p>  

121、case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p><p>  when "0001" =>dout<="0000000001000000";</p><p>  when

122、"0010" =>dout<="0000000010000000";</p><p>  when "0011" =>dout<="0001111111111000";</p><p>  when "0100" =>dout<="0000

123、001000000000";</p><p>  when "0101" =>dout<="0000010000000000";</p><p>  when "0110" =>dout<="0000111111111000";</p><p>  

124、when "0111" =>dout<="0000101000101000";</p><p>  when "1000" =>dout<="0000100101001000";</p><p>  when "1001" =>dout<="

125、;0000101111101000";</p><p>  when "1010" =>dout<="0000100010001000";</p><p>  when "1011" =>dout<="0000101111101000";</p><p&

126、gt;  when "1100" =>dout<="0000100010001000";</p><p>  when "1101" =>dout<="0000100010001000";</p><p>  when "1110" =>dout<=

127、"0000000000000000";</p><p>  when "1111" =>dout<="0000000000000000";</p><p>  when others=>dout<=null; end case;</p><p>  When "010&q

128、uot;=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000"; </p><p>  when "0001" =>dout<="0000000000001000&q

129、uot;; </p><p>  when "0010" =>dout<="0111111111111100"; </p><p>  when "0011" =>dout<="0000000100000000"; </p><p>  when "

130、0100" =>dout<="0000000100000000"; </p><p>  when "0101" =>dout<="0000000100000000"; </p><p>  when "0110" =>dout<="00000001

131、00000000"; </p><p>  when "0111" =>dout<="0000000100000000"; </p><p>  when "1000" =>dout<="0000000100000000"; </p><p>  w

132、hen "1001" =>dout<="0000000100000000"; </p><p>  when "1010" =>dout<="0000000100000000"; </p><p>  when "1011" =>dout<=&quo

133、t;0000000100000000"; </p><p>  when "1100" =>dout<="0000000100000100"; </p><p>  when "1101" =>dout<="1111111111111110"; </p>&l

134、t;p>  when "1110" =>dout<="0000000000000000"; </p><p>  when "1111" =>dout<="0000000000000000"; </p><p>  when o

135、thers=>dout<=null; end case;</p><p>  When "011"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p>

136、<p>  when "0001" =>dout<="0000010000000000";</p><p>  when "0010" =>dout<="0000100000000000";</p><p>  when "0011" =>dou

137、t<="0001000011111000";</p><p>  when "0100" =>dout<="0111000010001000";</p><p>  when "0101" =>dout<="0001000010001000";</p&

138、gt;<p>  when "0110" =>dout<="0001000011111000";</p><p>  when "0111" =>dout<="0111111000000000";</p><p>  when "1000" =&g

139、t;dout<="0001000111111100";</p><p>  when "1001" =>dout<="0011100000100000";</p><p>  when "1010" =>dout<="0101010111111100";&l

140、t;/p><p>  when "1011" =>dout<="1001010000100000";</p><p>  when "1100" =>dout<="1001001000100000";</p><p>  when "1101"

141、 =>dout<="0001000111111100";</p><p>  when "1110" =>dout<="0001000000000000";</p><p>  when "1111" =>dout<="0000000000000000&quo

142、t;;</p><p>  when others=>dout<=null;end case;</p><p>  When "100"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0010

143、001000001000"; </p><p>  when "0001" =>dout<="0001000100001000"; </p><p>  when "0010" =>dout<="0000000000000000"; </p><p>

144、;  when "0011" =>dout<="0000000000100000"; </p><p>  when "0100" =>dout<="0111111111111110"; </p><p>  when "0101" =>dout<=

145、"0100000000000010"; </p><p>  when "0110" =>dout<="1000000000000100"; </p><p>  when "0111" =>dout<="0001111111100000"; </p>

146、<p>  when "1000" =>dout<="0000000001000000"; </p><p>  when "1001" =>dout<="0000000110000100"; </p><p>  when "1010" =>

147、;dout<="1111111111111110"; </p><p>  when "1011" =>dout<="0000000100000000"; </p><p>  when "1100" =>dout<="0000000100000000";

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論