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

下載本文檔

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

文檔簡介

1、<p><b>  串入并出移位寄存器</b></p><p><b>  一、設(shè)計任務(wù)與要求</b></p><p>  1.設(shè)計一個4位的串入并出移位寄存器; </p><p>  2.要求能分別輸入兩組4位數(shù)據(jù),同時輸出顯示。</p><p><b>  二、方案設(shè)計與論證

2、</b></p><p>  移位寄存器除了具有存儲代碼的功能以外,還具有移位功能。所謂移位功能,是指寄存器里存儲的代碼能在移位脈沖的作用下依次左移或右移。因此,移位寄存器不但可以用來寄存代碼,還可用來實現(xiàn)數(shù)據(jù)的串并轉(zhuǎn)換、數(shù)字的運算以及數(shù)據(jù)處理等。</p><p>  所謂的串入/并出移位寄存器, 即輸入的數(shù)據(jù)是一個接著一個有序地進入, 輸出時則一起送出。兩組數(shù)據(jù)伴隨著時鐘信號

3、依次輸入,輸出時消除延時。</p><p>  三、單元電路設(shè)計與參數(shù)計算</p><p><b>  程序代碼:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_l

4、ogic_arith.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity sipo is</p><p><b>  port(</b></p><p>  d_in:in std_logic;</p><p>  cl

5、k:in std_logic;</p><p>  d_out:out std_logic_vector(3 downto 0));</p><p><b>  end sipo;</b></p><p>  architecture a of sipo is</p><p>  signal q:std_logic_v

6、ector(3 downto 0);</p><p><b>  begin</b></p><p>  p1:process(clk)</p><p><b>  begin</b></p><p>  if clk'event and clk='1'then</p&

7、gt;<p>  q(0)<=d_in;</p><p>  for i in 1 to 3 loop</p><p>  q(i)<=q(i-1);</p><p><b>  end loop;</b></p><p><b>  end if;</b></p&g

8、t;<p>  end process p1;</p><p><b>  d_out<=q;</b></p><p><b>  end a;</b></p><p>  四、總原理圖及元器件清單</p><p><b>  1.總原理圖</b></

9、p><p>  1.元件清單(或程序清單)</p><p><b>  五、安裝與調(diào)試</b></p><p>  輸入的數(shù)據(jù)為“1010” 、 “0111”兩組 4 位數(shù)據(jù)。因輸入的數(shù)據(jù)是每次一位依序進入,故輸入、輸出信號之間有 4 個 CLK 時間的延遲。為了過濾中間沒用的數(shù)據(jù),只讀取完整的存儲數(shù)據(jù),實用上可將取樣脈沖的周期設(shè)定成CLK 脈沖的

10、四倍,也就是說,每經(jīng)過 4 個CLK 脈沖后</p><p><b>  實驗連線 </b></p><p>  輸入信號D-IN(代表一位的串行數(shù)據(jù)輸入)和 CLK(代表抽樣時鐘信號) ,CLK 時鐘信號接適配器板子上的時鐘信號,頻率建議取在 1Hz 左右,D-IN 接撥碼開關(guān)或按鍵;輸出信號有D-OUT0~D-OUT3(代表 4位并行數(shù)據(jù)輸出) ,接發(fā)光二極管。&

11、lt;/p><p><b>  六、性能測試與分析</b></p><p><b>  七、結(jié)論與心得</b></p><p>  當(dāng)按順序依次輸入兩組4尾數(shù)據(jù)時,輸入端同時顯示出兩組數(shù)據(jù)。</p><p>  通過對串入并出移位寄存器的設(shè)計,更加認識到了移位寄存器的原理與性能,在調(diào)試的過程中,也鍛煉了

12、自己發(fā)現(xiàn)問題、解決問題的能力。</p><p><b>  八、參考文獻</b></p><p>  1.《EDA技術(shù)綜合應(yīng)用實例與分析》——譚會生、翟遂春 著。</p><p><b>  譯碼器</b></p><p><b>  一、設(shè)計任務(wù)與要求</b></p&g

13、t;<p>  1.設(shè)計一個簡單的 3-8譯碼器;</p><p>  2.握組合邏輯電路的靜態(tài)測試方法;</p><p>  3.初步了解可編程器件設(shè)計的全過程。</p><p><b>  二、方案設(shè)計與論證</b></p><p>  3-8譯碼器電路(138)的功能與編碼器的功能相反。輸入變量有3個

14、,即A、B、C,輸出變量有8個,即Y0~Y7,對輸入變量A、B、C譯碼,就能確定輸出端Y0~Y7的輸出變?yōu)橛行Вǖ碗娖剑?,從而達到譯碼目的。</p><p><b>  真值表:</b></p><p>  三、單元電路設(shè)計與參數(shù)計算</p><p><b>  程序代碼:</b></p><p>

15、  LIBRARY ieee; </p><p>  USE ieee.std_logic_1164.ALL; </p><p>  ENTITY decoder3_8 IS </p><p><b>  PORT( </b></p><p>  A, B,C,G1,G2A,G2B: IN STD_LOGIC; <

16、;/p><p>  Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); </p><p>  END decoder3_8; </p><p>  ARCHITECTURE fun OF decoder3_8 IS </p><p>  SIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0)

17、; </p><p><b>  BEGIN </b></p><p>  indata <= C&B&A; </p><p><b>  encoder: </b></p><p>  PROCESS (indata, G1, G2A,G2B) </p><

18、;p><b>  BEGIN </b></p><p>  IF (G1='1' AND G2A='0' AND G2B='0') THEN </p><p>  CASE indata IS </p><p>  WHEN "000"=>Y<="1

19、1111110"; </p><p>  WHEN "001"=>Y<="11111101"; </p><p>  WHEN "010"=>Y<="11111011"; </p><p>  WHEN "011"=>Y<

20、="11110111"; </p><p>  WHEN "100"=>Y<="11101111"; </p><p>  WHEN "101"=>Y<="11011111"; </p><p>  WHEN "110"=&

21、gt;Y<="10111111"; </p><p>  WHEN "111"=>Y<="01111111"; </p><p>  WHEN OTHERS =>Y<="XXXXXXXX"; </p><p>  END CASE; </p>

22、<p><b>  ELSE </b></p><p>  Y<="11111111"; </p><p><b>  END IF; </b></p><p>  END PROCESS encoder; </p><p><b>  END fun;

23、</b></p><p>  四、總原理圖及元器件清單</p><p><b>  1.總原理圖</b></p><p>  1.元件清單(或程序清單)</p><p><b>  五、安裝與調(diào)試</b></p><p>  輸入信號 A、B、C 接撥碼開關(guān),其中

24、 A、B、C代表三路數(shù)據(jù)輸入,G1、G2A、G2B代表控制端;輸出信號 Y0~Y7 接發(fā)光二極管,代表8路譯碼數(shù)據(jù)輸出。改變撥碼開關(guān)的狀態(tài),參照3-8譯碼器真值表,觀察實驗結(jié)果。</p><p><b>  六、性能測試與分析</b></p><p><b>  七、結(jié)論與心得</b></p><p>  通過對譯碼器的設(shè)

25、計,更加認識到了譯碼器的原理與性能,在調(diào)試的過程中,也鍛煉了自己發(fā)現(xiàn)問題、解決問題的能力。也培養(yǎng)了自己的動手能力,為今后的工作做出了鋪墊。</p><p><b>  八、參考文獻</b></p><p>  1.《VHDL程序設(shè)計教程》——邢建平、曾繁泰 著。</p><p><b>  數(shù)字鐘</b></p>

26、;<p><b>  一、設(shè)計任務(wù)與要求</b></p><p>  1.具有時、分、秒計數(shù)顯示功能,以二十四小時循環(huán)計時;</p><p>  2.具有清零,調(diào)節(jié)小時,分鐘的功能;</p><p>  3.具有整點報時同時LED燈花樣顯示的功能。</p><p><b>  二、方案設(shè)計與論證&

27、lt;/b></p><p>  1、時鐘計數(shù):秒……60進制BCD碼計數(shù)。</p><p>  分……60進制BCD碼計數(shù)。</p><p>  時……24進制BCD碼計數(shù)。</p><p>  同時整個計數(shù)器有清零、調(diào)時、調(diào)分功能。在接近整數(shù)時能提供報時信號。</p><p>  2、具有驅(qū)動8位8段共陰極掃

28、描數(shù)碼管的片選驅(qū)動信號輸出和8段字形譯碼輸出。</p><p>  3、揚聲器在整點時有報時驅(qū)動信號產(chǎn)生。</p><p>  4、LED燈整點時有花樣顯示信號產(chǎn)生。</p><p>  三、單元電路設(shè)計與參數(shù)計算</p><p><b>  程序代碼:</b></p><p><b>

29、  秒計時模塊:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity second is</p><p>

30、  port(clk,reset,semin:in std_logic;</p><p>  enmin:out std_logic;</p><p>  daout:out std_logic_vector(6 downto 0));</p><p>  end second;</p><p>  architecture rtl of s

31、econd is</p><p>  signal count:std_logic_vector(6 downto 0);</p><p>  signal enmin_1,enmin_2:std_logic;</p><p><b>  begin</b></p><p>  daout<=count;</

32、p><p>  enmin_2<=(semin and clk);</p><p>  enmin<=(enmin_1 or enmin_2);</p><p>  process(clk,reset,semin)</p><p><b>  begin</b></p><p>  if(

33、reset='0')then</p><p>  count<="0000000";</p><p>  enmin_1<='0';</p><p>  elsif(clk'event and clk='1')then</p><p>  if(count

34、(3 downto 0)="1001")then</p><p>  if(count<60)then</p><p>  if(count="1011001")then</p><p>  enmin_1<='1';count<="0000000";</p>

35、<p><b>  else</b></p><p>  count<=count+7;</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  count<="0000000&qu

36、ot;;</p><p><b>  end if;</b></p><p>  elsif(count<60)then</p><p>  count<=count+1;</p><p>  enmin_1<='0';</p><p><b>  el

37、se</b></p><p>  count<="0000000";enmin_1<='0';</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end proces

38、s;</p><p><b>  end rtl;</b></p><p><b>  分計時模塊:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.s

39、td_logic_unsigned.all;</p><p>  entity minute is</p><p>  port(clk,reset,clks,sethour:in std_logic;</p><p>  enhour:out std_logic;</p><p>  daout:out std_logic_vector(6

40、 downto 0));</p><p>  end minute;</p><p>  architecture rtl of minute is</p><p>  signal count:std_logic_vector(6 downto 0);</p><p>  signal enhour_1,enhour_2:std_logic

41、;</p><p><b>  begin</b></p><p>  daout<=count;</p><p>  enhour_2<=(sethour and clk);</p><p>  enhour<=(enhour_1 or enhour_2);</p><p> 

42、 process(clk,reset,sethour)</p><p><b>  begin</b></p><p>  if(reset='0')then</p><p>  count<="0000000";</p><p>  enhour_1<='0

43、9;;</p><p>  elsif(clk'event and clk='1')then</p><p>  if(count(3 downto 0)="1001")then</p><p>  if(count<=60)then</p><p>  if(count="1011

44、001")then</p><p>  enhour_1<='1';count<="0000000";</p><p><b>  else</b></p><p>  count<=count+7;</p><p>  enhour_1<='

45、0';</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  count<="0000000";</p><p><b>  end if;</b></p><

46、p>  elsif(count<60)then</p><p>  count<=count+1;</p><p>  enhour_1<='0' after 100 ns;</p><p><b>  else</b></p><p>  count<="0000

47、000";enhour_1<='0';</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end rtl;</b>&l

48、t;/p><p><b>  小時計時模塊:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity h

49、our is</p><p>  port(clk,reset:in std_logic;</p><p>  daout:out std_logic_vector(5 downto 0));</p><p><b>  end hour;</b></p><p>  architecture rtl of hour i

50、s</p><p>  signal count:std_logic_vector(5 downto 0);</p><p><b>  begin</b></p><p>  daout<=count;</p><p>  process(clk,reset)</p><p><b&

51、gt;  begin</b></p><p>  if(reset='0')then</p><p>  count<="000000";</p><p>  elsif(clk'event and clk='1')then</p><p>  if(count(3

52、 downto 0)="1001")then</p><p>  if(count<23)then</p><p>  count<=count+7;</p><p><b>  else</b></p><p>  count<="000000";</p&

53、gt;<p><b>  end if;</b></p><p>  elsif(count<23)then</p><p>  count<=count+1;</p><p><b>  else</b></p><p>  count<="000000&

54、quot;;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end rtl;</b></p><p><b> 

55、 時間設(shè)置模塊:</b></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&g

56、t;<p>  entity settime is</p><p>  port(clk,reset:in std_logic;</p><p>  sec,min:in std_logic_vector(6 downto 0);</p><p>  hour:in std_logic_vector(5 downto 0);</p>&l

57、t;p>  dp:out std_logic;</p><p>  sel:out std_logic_vector(5 downto 0);</p><p>  daout:out std_logic_vector(3 downto 0));</p><p>  end settime;</p><p>  architecture

58、rtl of settime is</p><p>  signal count:std_logic_vector(2 downto 0);</p><p><b>  begin</b></p><p>  process(clk,reset)</p><p><b>  begin</b><

59、;/p><p>  if(reset='0')then</p><p>  count<="000";</p><p>  elsif(clk'event and clk='1')then</p><p>  if(count>="101")then<

60、;/p><p>  count<="000";</p><p><b>  else</b></p><p>  count<=count+1;</p><p><b>  end if;</b></p><p><b>  end if

61、;</b></p><p>  end process;</p><p>  process(clk,reset)</p><p><b>  begin</b></p><p>  if(reset='0')then</p><p>  daout<="

62、;0000";</p><p><b>  dp<='0';</b></p><p>  sel<="111111";</p><p>  elsif(clk'event and clk='1')then</p><p>  case co

63、unt is</p><p>  when"000"=>daout<=sec(3 downto 0);</p><p><b>  dp<='0';</b></p><p>  sel<="111110";</p><p>  when&qu

64、ot;001"=>daout(3)<='0';</p><p>  daout(2 downto 0)<=sec(6 downto 4);</p><p><b>  dp<='0';</b></p><p>  sel<="111101";</p

65、><p>  when"010"=>daout<=min(3 downto 0);</p><p><b>  dp<='1';</b></p><p>  sel<="111011";</p><p>  when"011"

66、=>daout(3)<='0';</p><p>  daout(2 downto 0)<=min(6 downto 4);</p><p><b>  dp<='0';</b></p><p>  sel<="110111";</p><p&

67、gt;  when"100"=>daout<=hour(3 downto 0);</p><p><b>  dp<='1';</b></p><p>  sel<="101111";</p><p>  when"101"=>daout(

68、3 downto 2)<="00";</p><p>  daout(1 downto 0)<=hour(5 downto 4);</p><p><b>  dp<='0';</b></p><p>  sel<="011111";</p><

69、p>  when others=>daout<="0000";</p><p><b>  dp<='0';</b></p><p>  sel<="111111";</p><p><b>  end case;</b></p&g

70、t;<p><b>  end if;</b></p><p>  end process;</p><p><b>  end rtl;</b></p><p><b>  掃描顯示模塊:</b></p><p>  library ieee;</p>

71、;<p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity deled is</p><p>  port(num:in std_logic_vector(3 downto 0);</p><p>

72、  led:out std_logic_vector(6 downto 0));</p><p>  end deled;</p><p>  architecture rtl of deled is</p><p><b>  begin</b></p><p>  led<="111110"

73、when num="0000"else</p><p>  "0110000"when num="0001"else</p><p>  "1101101"when num="0010"else</p><p>  "1111001"when nu

74、m="0011"else</p><p>  "0110011"when num="0100"else</p><p>  "1011011"when num="0101"else</p><p>  "1011111"when num="

75、;0110"else</p><p>  "1110000"when num="0111"else</p><p>  "1111111"when num="1000"else</p><p>  "1111011"when num="1001&q

76、uot;else</p><p>  "1110111"when num="1010"else</p><p>  "0011111"when num="1011"else</p><p>  "1001110"when num="1100"els

77、e</p><p>  "0111101"when num="1101"else</p><p>  "1001111"when num="1110"else</p><p>  "1000111"when num="1111";</p>

78、;<p><b>  end rtl;</b></p><p><b>  整點報時模塊:</b></p><p>  LIBRARY ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_u

79、nsigned.all;</p><p>  ENTITY alert IS</p><p><b>  PORT(</b></p><p>  clk : INSTD_LOGIC;</p><p>  dain : INSTD_LOGIC_VECTOR(6 DOWNTO 0);</p><p&

80、gt;  speak: OUTSTD_LOGIC;</p><p>  lamp : OUT STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p>  END alert ;</p><p>  ARCHITECTURE fun OF alert IS</p><p>  signal count : std_lo

81、gic_vector( 1 downto 0);</p><p>  signal count1: std_logic_vector( 1 downto 0);</p><p><b>  BEGIN</b></p><p>  speaker:process (clk)</p><p><b>  begin

82、 </b></p><p>  speak <= count1(1);</p><p>  if (clk 'event and clk= '1') then</p><p>  if (dain = "000000") then</p><p>  if (count1>=

83、"10") then </p><p>  count1<="00";</p><p><b>  else</b></p><p>  count1 <= count1 + 1;</p><p><b>  end if; </b></p&

84、gt;<p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process speaker;</p><p>  lamper:process(clk)</p><p><b>  begin</b&

85、gt;</p><p>  if (rising_edge(clk))then </p><p>  if (count <= "10") then</p><p>  if (count ="00") then</p><p>  lamp <= "001" ;<

86、/p><p>  elsif (count = "01") then</p><p>  lamp <= "010" ;</p><p>  elsif(count="10") then </p><p>  lamp <= "100" ;</p&g

87、t;<p><b>  end if;</b></p><p>  count <= count + 1;</p><p><b>  else </b></p><p>  count <= "00";</p><p><b>  end i

88、f;</b></p><p>  end if; </p><p>  end process lamper;</p><p><b>  end fun ;</b></p><p>  四、總原理圖及元器件清單</p><p><b>  1.總原理圖</

89、b></p><p>  1.元件清單(或程序清單)</p><p><b>  五、安裝與調(diào)試</b></p><p><b>  輸入接口:</b></p><p>  1、代表清零、調(diào)時、調(diào)分信號RESET、SETHOUR、SETMIN的管腳分別連接按鍵開關(guān)。</p>&l

90、t;p>  2、代表計數(shù)時鐘信號CLK和掃描時鐘信號CKDSP的管腳分別同1Hz時鐘源和32Hz(或更高)時鐘源相連。</p><p><b>  輸出接口:</b></p><p>  1、代表掃描顯示的驅(qū)動信號管腳SEL2、SEL1、SEL0和a,b,c,d,e,f,g參照實驗四的連法。</p><p>  2、代表揚聲器驅(qū)動信號的管

91、腳SPEAK同揚聲器驅(qū)動接口SPEAKER相連。</p><p>  3、代表花樣燈顯示信號管腳LAMP0、LAMP1、LAMP2同3個LED燈相連。</p><p><b>  六、性能測試與分析</b></p><p>  時鐘信號每60次,秒計時模塊向分計時模塊發(fā)射一個脈沖信號;分計時模塊收到60次脈沖,向小時計時模塊發(fā)射一個脈沖信號;小

92、時模塊收到23次脈沖,自動清零。</p><p><b>  七、結(jié)論與心得</b></p><p>  通過對數(shù)字鐘的設(shè)計,了解到掃描電路實現(xiàn)顯示功能的潛在好處,對數(shù)字鐘原理有了深刻的認識,認識到了進位輸出的原理與實現(xiàn)。在調(diào)試的過程中,也鍛煉了自己發(fā)現(xiàn)問題、解決問題的能力。也培養(yǎng)了自己的動手能力,為今后的工作做出了鋪墊。</p><p>&l

溫馨提示

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

評論

0/150

提交評論