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

下載本文檔

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

文檔簡介

1、<p>  軟件設(shè)計(jì) 實(shí)驗(yàn)報告</p><p>  模 塊 名 稱 8位格雷碼編碼器、高速分頻器 </p><p>  專 業(yè) 通信工程 </p><p>  8位格雷碼編碼器及高速分頻器設(shè)計(jì)</p><p><b>  實(shí)驗(yàn)?zāi)康模?

2、lt;/b></p><p>  1.全面了解如何應(yīng)用該硬件描述語言進(jìn)行高速集成電路設(shè)計(jì)</p><p>  2.通過軟件使用、設(shè)計(jì)與仿真環(huán)節(jié)使學(xué)生熟悉EDA-VHDL開發(fā)環(huán)境 </p><p>  3.通過對基本題、綜合題的設(shè)計(jì)實(shí)踐,使學(xué)生掌握硬件系統(tǒng)設(shè)計(jì)方法</p><p>  (自底向上或自頂向下),熟悉VHDL語言三種設(shè)計(jì)風(fēng)格,

3、并且培養(yǎng)</p><p>  應(yīng)用VHDL語言解決實(shí)際問題的能力。</p><p><b>  實(shí)驗(yàn)設(shè)備:PC機(jī)</b></p><p><b>  實(shí)驗(yàn)課題:</b></p><p>  一、8位格雷碼編碼器</p><p><b>  1、主要功能</b&

4、gt;</p><p>  設(shè)計(jì)一個8位(bit)二進(jìn)制碼輸入,輸出8位格雷碼的編碼器(輸入:B7 ---B0并行8位,輸出G7---G0并行8位,提示:當(dāng)i<7時:G(i)=B(i+1)xorB(i),G(7)=B(7)。</p><p><b>  2、設(shè)計(jì)原理</b></p><p>  根據(jù)組合邏輯電路的分析方法,先列出其真值表再

5、通過卡諾圖化簡,可以很快 的找出格雷碼與二進(jìn)制碼之間的邏輯關(guān)系。其轉(zhuǎn)換規(guī)律為:高位同,從高到低看異 同,異出‘1’,同出‘0’。也就是將二進(jìn)制碼轉(zhuǎn)換成格雷碼時,高位是完全相同的,下一位格雷碼是‘1’還是‘0’,完全是相鄰兩位二進(jìn)制碼的“異”還是“同” 來決定。下面舉一個簡單的例子加以說明。</p><p>  假如要把二進(jìn)制碼10110110轉(zhuǎn)換成格雷碼,則可以通過下面的方法來完成,方法如圖1-1。</p&

6、gt;<p><b>  圖1-1</b></p><p><b>  功能仿真</b></p><p>  說明:B7~B0為輸入信號,二進(jìn)制碼為:10110110</p><p>  G7~G0為輸出信號,格雷碼為:11101101</p><p><b>  實(shí)驗(yàn)代碼:

7、</b></p><p><b>  見附錄一</b></p><p><b>  二、高速分頻器設(shè)計(jì)</b></p><p><b>  1、主要功能</b></p><p>  設(shè)計(jì)一個分頻器,對10Mhz的時鐘源進(jìn)行分頻,以得到4Hz,3Hz,2Hz,1Hz的

8、時鐘。</p><p><b>  2、設(shè)計(jì)原理</b></p><p><b>  整體思路</b></p><p>  因?yàn)?0Mhz時鐘源速度很快,直接分頻成1Hz級別的時鐘的話分頻系數(shù)太大,雖然思路簡單,但是在實(shí)現(xiàn)時會造成quartus的寄存器資源消耗殆盡,導(dǎo)致編譯失敗。</p><p> 

9、 所以我先通過10分頻和100000分頻將10Mhz時鐘源分頻為10Hz的時鐘源,然后對10Hz的時鐘源分別進(jìn)行2.5分頻,3.3分頻,5分頻,10分頻。從而得到4Hz,3Hz,2Hz,1Hz的時鐘源。</p><p>  原理框圖如圖2-1所示。</p><p><b>  圖 2-1</b></p><p><b>  2.5分頻

10、模塊原理</b></p><p>  設(shè)計(jì)一個模3的計(jì)數(shù)器,再設(shè)計(jì)一個扣除脈沖電路,加在模3計(jì)數(shù)器輸出之后,每來兩個脈沖就扣除一個脈沖(實(shí)際上是使被扣除的脈沖變成很窄的脈沖,可由異或門實(shí)現(xiàn)),就可以得到分頻系數(shù)為2.5的小數(shù)分頻器。</p><p>  設(shè)需要設(shè)計(jì)一個分頻系數(shù)為N-0.5的分頻器,其電路可由一個模N計(jì)數(shù)器、一個二分頻器和一個異或門組成,如圖2-2所示。在實(shí)現(xiàn)時,

11、模N計(jì)數(shù)器可設(shè)計(jì)成帶預(yù)置的計(jì)數(shù)器,這樣就可以實(shí)現(xiàn)任意分頻系數(shù)為N-0.5的分頻器。</p><p>  電路原理圖如圖2-2所示。</p><p><b>  圖 2-2</b></p><p>  3.3分頻模塊設(shè)計(jì)[3]</p><p>  設(shè)置一個計(jì)數(shù)器,令其初始值為0;在時鐘源clk的每一個上升沿,計(jì)數(shù)器加上Q,

12、若計(jì)數(shù)器里面的值小于P,則發(fā)出刪除一個脈沖的信號,將delete置為低電平;若其值大于P,則將計(jì)數(shù)器的值減去P,并且將delete置為高電平,不發(fā)出刪除脈沖的信號。本實(shí)驗(yàn)中要將一個10Hz的時鐘源分頻為3Hz的時鐘信號,則Q=3,P=10。</p><p>  電路原理圖如圖2-3所示。</p><p><b>  圖 2-3</b></p><p

13、><b>  5分頻模塊設(shè)計(jì)</b></p><p>  定義兩個計(jì)數(shù)器,分別對輸入時鐘的上升沿和下降沿進(jìn)行計(jì)數(shù),然后把這兩個計(jì)數(shù)值輸入一個組合邏輯,用其控制輸出時鐘的電平。</p><p>  這是因?yàn)橛?jì)數(shù)值為奇數(shù),占空比為50%,前半個和后半個周期所包含的不是整數(shù)個clkin的周期。5分頻,前半個周期包含2.5個clkin周期,后半個周期包含2.5個clki

14、n周期。</p><p><b>  10分頻模塊設(shè)計(jì)</b></p><p>  定義一個計(jì)數(shù)器對輸入時鐘進(jìn)行計(jì)數(shù),在計(jì)數(shù)的前一半時間里,輸出高電平,在計(jì)數(shù)的后一半時間里,輸出低電平,這樣輸出的信號就是占空比為50%的偶數(shù)分頻信號。10分頻,計(jì)數(shù)值為0~4輸出高電平,計(jì)數(shù)值為5~9輸出低電平。3、功能仿真</p><p>  由于題目所給的

15、10Mhz時鐘信號頻率過大,如果直接對它進(jìn)行分頻的話將難以看到完整的結(jié)果,但如果將仿真時間調(diào)長,則仿真速度過慢,所以在仿真中,我將第一次分頻的分頻系數(shù)調(diào)低,然后選擇適當(dāng)?shù)妮斎霑r鐘頻率,以驗(yàn)證2.5分頻,3.3分頻,5分頻,10分頻的正確性。 </p><p>  仿真結(jié)果如圖2-4所示。</p><p><b>  圖 2-4</b></p>&l

16、t;p>  實(shí)驗(yàn)代碼 見附錄二</p><p><b>  設(shè)計(jì)總結(jié)</b></p><p>  本實(shí)驗(yàn)主要是運(yùn)用VHDL語言實(shí)現(xiàn)格雷碼編碼器和高速分頻器的設(shè)計(jì),相對于其他的來說,本實(shí)驗(yàn)比較簡單,但在實(shí)際做的時候還是遇到不少的問題。</p><p>  在編譯時出現(xiàn)了許多錯誤,經(jīng)過反復(fù)修改編譯,再修改再編譯最終排除了所有的錯誤。<

17、/p><p>  在仿真時一開始看不到完整的結(jié)果,通過調(diào)節(jié)分頻系數(shù)以及輸入時鐘頻率的等手段仿真成功,驗(yàn)證了2.5分頻,3.3分頻,5分頻,10分頻的正確性。</p><p><b>  收獲和體會</b></p><p>  在老師布置好題目后,我仔細(xì)進(jìn)行設(shè)計(jì),通過查閱各參考書,最終把實(shí)驗(yàn)做出來了,達(dá)到了老師對本實(shí)驗(yàn)的要求。在這次設(shè)計(jì)中我收獲頗豐,

18、首先最直接的收獲就是我鞏固了這節(jié)課所學(xué)的知識,把它運(yùn)用到實(shí)踐中去,并且學(xué)到了許多在課本中所沒有的知識,通過查閱相關(guān)知識,進(jìn)一步加深對EDA的了解。其次,我們不管做什么都不能粗心,如我們在輸入程序是,把字母打錯了時,保存文件時命名與程序中的名稱不一樣時,都會導(dǎo)致編譯錯誤,在此過程中雖然浪費(fèi)了不少時間,但這也讓我注意到在實(shí)際做設(shè)計(jì)時應(yīng)該注意的問題,意識到自己的不足,對學(xué)過的知識了解不夠深刻,掌握的不足夠。</p><p&

19、gt;  總的來說,這次設(shè)計(jì)還算成功,也讓我明白了要把理論知識與實(shí)踐結(jié)合起來,從實(shí)踐中強(qiáng)化自己的理論,才能更好提高自己的實(shí)際動手能力和獨(dú)立思考能力。如果在設(shè)計(jì)過程中遇到問題時,我們要有耐心并細(xì)心的查找錯誤,這也是學(xué)習(xí)的過程。</p><p><b>  附錄一</b></p><p><b>  格雷碼編碼器源代碼</b></p>

20、<p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  entity green is</p><p>  port(B:in std_logic_vector(7 downto 0);</p><p>  G:out std_logic_vector

21、(7 downto 0));</p><p>  end green;</p><p>  architecture code of green is</p><p><b>  begin</b></p><p>  G(7) <= B(7);</p><p>  G(6) <=

22、B(7) XOR B(6);</p><p>  G(5) <= B(6) XOR B(5);</p><p>  G(4) <= B(5) XOR B(4);</p><p>  G(3) <= B(4) XOR B(3);</p><p>  G(2) <= B(3) XOR B(2);</p>&l

23、t;p>  G(1) <= B(2) XOR B(1);</p><p>  G(0) <= B(1) XOR B(0);</p><p><b>  end code;</b></p><p><b>  附錄二</b></p><p><b>  高速分頻器源代碼&l

24、t;/b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_signed.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p

25、>  entity div2 is</p><p>  generic(N10: integer:=10;</p><p>  N105: integer:=100000;</p><p>  N3: integer:=3;</p><p>  N5: integer:=5;</p><p>  N2: inte

26、ger:=3;</p><p>  N10: integer:=10);</p><p>  port(cp_10mhz:in std_logic;</p><p>  delete: buffer std_logic;</p><p>  cp_10hz:out std_logic;</p><p>  cp_4hz

27、:buffer std_logic;</p><p>  cp_3hz:out std_logic;</p><p>  cp_2hz:out std_logic;</p><p>  cp_1hz:out std_logic</p><p>  --tempout:inout std_logic</p><p>&l

28、t;b>  );</b></p><p><b>  end div2;</b></p><p>  architecture clk of div2 is</p><p>  signal cp1mhz:std_logic;</p><p>  signal cnt_1mhz: integer ran

29、ge 0 to N10-1;</p><p>  signal cp10hz:std_logic;</p><p>  signal cnt_10hz: integer range 0 to N105-1;</p><p>  signal cnt_1hz: integer range 0 to N10-1;</p><p>  signal

30、 cnt_2hz1, cnt_2hz2: integer range 0 to N5-1;</p><p>  signal cnt_3hz: integer :=0;</p><p>  SIGNAL clk_4hz, dix: STD_LOGIC;</p><p>  SIGNAL cnt_4hz: integer range 0 to N5-1;</p&

31、gt;<p>  constant P :integer:=10;</p><p>  constant Q :integer:=3;</p><p>  --SIGNAL delete: std_logic;</p><p><b>  begin </b></p><p>  clk_4hz <=

32、 cp10hz XOR dix;</p><p>  --clk<=cp10hz xor div2;</p><p>  ------------------------------------------</p><p>  ------------------------------------------</p><p>  pr

33、ocess(cp_10mhz) --計(jì)數(shù)----1Mhz</p><p><b>  begin</b></p><p>  if(cp_10mhz'event and cp_10mhz='1') then</p><p>  if(cnt_1mhz<N10-1) then</p><p>

34、;  cnt_1mhz <= cnt_1mhz+1;</p><p><b>  else</b></p><p>  cnt_1mhz <= 0;</p><p><b>  end if;</b></p><p><b>  end if;</b></p&

35、gt;<p>  end process;</p><p>  process(cnt_1mhz) --根據(jù)計(jì)數(shù)值,控制輸出時鐘脈沖的高、低電平</p><p><b>  begin</b></p><p>  if(cnt_1mhz<N10/2) then</p><p>  cp1mhz &l

36、t;= '1';</p><p><b>  else</b></p><p>  cp1mhz <= '0';</p><p><b>  end if;</b></p><p>  end process;</p><p>  ---

37、------------------------------------------------------</p><p>  ---------------------------------------------------------</p><p>  process(cp1mhz) --計(jì)數(shù)--------------10Hz--------------</p>

38、<p><b>  begin</b></p><p>  if(cp1mhz'event and cp1mhz='1') then</p><p>  if(cnt_10hz<N105-1) then</p><p>  cnt_10hz <= cnt_10hz+1;</p>&

39、lt;p><b>  else</b></p><p>  cnt_10hz <= 0;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p>&l

40、t;p>  process(cnt_10hz) --根據(jù)計(jì)數(shù)值,控制輸出時鐘脈沖的高、低電平</p><p><b>  begin</b></p><p>  if(cnt_10hz<N105/2) then</p><p>  cp10hz <= '1';</p><p>  cp

41、_10hz <= '1';</p><p><b>  else</b></p><p>  cp10hz <= '0';</p><p>  cp_10hz <= '0';</p><p><b>  end if;</b><

42、/p><p>  end process;</p><p>  --------------------------------------------------------</p><p>  --------------------------------------------------------</p><p>  process(

43、cp10hz) --計(jì)數(shù)--------------1Hz--------------</p><p><b>  begin</b></p><p>  if(cp10hz'event and cp10hz='1') then</p><p>  if(cnt_1hz<N10-1) then</p>

44、<p>  cnt_1hz <= cnt_1hz+1;</p><p><b>  else</b></p><p>  cnt_1hz <= 0;</p><p><b>  end if;</b></p><p><b>  end if;</b>

45、</p><p>  end process;</p><p>  process(cnt_1hz) --根據(jù)計(jì)數(shù)值,控制輸出時鐘脈沖的高、低電平</p><p><b>  begin</b></p><p>  if(cnt_1hz<N10/2) then</p><p>  cp_1

46、hz <= '1';</p><p><b>  else</b></p><p>  cp_1hz <= '0';</p><p><b>  end if;</b></p><p>  end process;</p><p>

47、  -------------------------------------------------------</p><p>  -------------------------------------------------------</p><p>  process(cp10hz)-----------------2Hz---------------------</p

48、><p><b>  begin</b></p><p>  if(cp10hz'event and cp10hz='1') then --shangshengyanjishu</p><p>  if(cnt_2hz1<N5-1) then</p><p>  cnt_2hz1 <=

49、cnt_2hz1+1;</p><p><b>  else</b></p><p>  cnt_2hz1 <= 0;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  en

50、d process;</p><p>  process(cp10hz)</p><p><b>  begin</b></p><p>  if(cp10hz'event and cp10hz='0') then --xiajiangyanjishu</p><p>  if(cnt_2hz2

51、<N5-1) then</p><p>  cnt_2hz2 <= cnt_2hz2+1;</p><p><b>  else</b></p><p>  cnt_2hz2 <= 0;</p><p><b>  end if;</b></p><p>&

52、lt;b>  end if;</b></p><p>  end process;</p><p>  cp_2hz <= '1' when cnt_2hz1<(N5-1)/2 or cnt_2hz2<(N5-1)/2 else '0';</p><p>  --------------------

53、----------------------------------</p><p>  ------------------------------------------------------</p><p>  process(clk_4hz)---------------------------4Hz-------</p><p><b>  b

54、egin</b></p><p>  if(clk_4hz'event and clk_4hz='1') then</p><p>  if(cnt_4hz=0) then</p><p>  cnt_4hz <= N2-1;--置整數(shù)分頻值N</p><p>  cp_4hz <= 

55、9;1';</p><p><b>  else</b></p><p>  cnt_4hz <= cnt_4hz-1;--模N計(jì)數(shù)器減法計(jì)數(shù)</p><p>  cp_4hz <= '0';</p><p><b>  end if;</b></p>

56、;<p><b>  end if;</b></p><p>  end process; </p><p>  process(cp_4hz)</p><p><b>  begin</b></p><p>  if(cp_4hz'event and cp_4hz='

57、1') then</p><p>  dix <= not dix;--輸出時鐘二分頻</p><p><b>  end if;</b></p><p>  end process;</p><p>  --------------------------------------------------

58、-----</p><p>  -------------------------------------------------------</p><p>  process(cp10hz)------------------3hz------------------</p><p><b>  begin</b></p>&

59、lt;p>  if(cp10hz'event and cp10hz='1') then</p><p>  cnt_3hz<=cnt_3hz+Q;</p><p>  if(cnt_3hz<P) then</p><p>  delete<='0';</p><p><b&

60、gt;  else</b></p><p>  cnt_3hz<=cnt_3hz-P;</p><p>  delete<='1';</p><p><b>  end if;</b></p><p><b>  end if;</b></p>

61、<p>  end process;</p><p>  process(cp10hz,delete)</p><p><b>  begin</b></p><p>  cp_3hz<=cp10hz and delete;</p><p>  end process; </p>

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論