2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩27頁(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>  《電子設(shè)計(jì)自動(dòng)化》</b></p><p><b>  課程設(shè)計(jì)</b></p><p>  題目: 2位十進(jìn)制四則運(yùn)算器電路 </p><p>  院(系) 信息科學(xué)與工程學(xué)院 </p><p>  

2、專 業(yè) 通信工程 </p><p>  屆 別 2011級(jí) </p><p>  班 級(jí) </p><p>  學(xué) 號(hào) </p><p>  姓 名

3、 </p><p>  任課老師 </p><p><b>  摘要</b></p><p>  本設(shè)計(jì)是利用EDA技術(shù)實(shí)現(xiàn)的2位十進(jìn)制四則運(yùn)算器,是基于QuartusII7.2軟件,利用其強(qiáng)大、直觀、便捷和操作靈活的原理圖輸入設(shè)計(jì)的功能來(lái)完成本次設(shè)計(jì)的。

4、此設(shè)計(jì)利用QuartusII7.2中的EP2C5T144C8芯片來(lái)控制整個(gè)程序的運(yùn)行,用七段數(shù)碼管顯示各個(gè)輸入和輸出,用LED燈的亮滅來(lái)顯示運(yùn)算模式,而軟件部分則是由VHDL語(yǔ)言來(lái)編寫的,是通過(guò)精心的設(shè)計(jì)和合理的規(guī)劃而完成的設(shè)計(jì)。設(shè)計(jì)完成后的運(yùn)算器不僅能實(shí)現(xiàn)數(shù)據(jù)的加減乘除運(yùn)算,而且還能使數(shù)據(jù)及其計(jì)算結(jié)果在數(shù)碼管上顯示出來(lái),能夠?qū)崿F(xiàn)0-99的十進(jìn)制數(shù)字四則運(yùn)算。</p><p><b>  目 錄&l

5、t;/b></p><p>  第一章 系統(tǒng)設(shè)計(jì)1</p><p><b>  1.1設(shè)計(jì)要求1</b></p><p>  1.2系統(tǒng)設(shè)計(jì)方案1</p><p>  1.2.2總體方案的論證2</p><p>  1.2.4各功能塊的劃分和組成3</p><

6、p>  第二章 單元電路設(shè)計(jì)4</p><p>  2.1 輸入模塊5</p><p><b>  2.2加法模塊5</b></p><p><b>  2.3減法模塊6</b></p><p><b>  2.4乘法模塊7</b></p><

7、;p>  2.5 除法模塊7</p><p>  2.6 模式選擇模塊8</p><p><b>  2.7輸出模塊8</b></p><p>  第三章 軟件設(shè)計(jì)9</p><p>  3.1 軟件設(shè)計(jì)平臺(tái)、開發(fā)工具和實(shí)現(xiàn)方法9</p><p>  3.2程序的流程方框圖9&l

8、t;/p><p>  3.3實(shí)現(xiàn)的功能及程序清單10</p><p>  3.3.1百進(jìn)制計(jì)數(shù)器10</p><p>  3.3.2四選一數(shù)據(jù)選擇器11</p><p>  3.3.3加法模塊:12</p><p>  3.3.4減法模塊12</p><p>  3.3.5乘法模塊13&

9、lt;/p><p>  3.3.6除法模塊13</p><p>  3.3.7輸出模塊14</p><p>  第四章 系統(tǒng)測(cè)試15</p><p>  4.1 功能的測(cè)試方法、步驟15</p><p>  4.2 儀器設(shè)備16</p><p>  第五章 結(jié)論16</p>

10、<p><b>  參考文獻(xiàn)17</b></p><p>  附錄A 電路圖圖紙17</p><p>  附錄B 軟件程序21</p><p><b>  第一章 系統(tǒng)設(shè)計(jì)</b></p><p><b>  1.1設(shè)計(jì)要求</b></p>

11、<p>  輸入兩個(gè)2位十進(jìn)制數(shù)(0~99),輸出它們的四則運(yùn)算(加減乘除)結(jié)果;發(fā)光二極管顯示運(yùn)算模式;可調(diào)用LPM_MULT及LPM_DIVIDE模塊。 </p><p><b>  1.2系統(tǒng)設(shè)計(jì)方案</b></p><p>  1.2.1系統(tǒng)設(shè)計(jì)思路</p><p>  通過(guò)分析可知,要完成本次課程設(shè)計(jì)可以分為三個(gè)模塊來(lái)實(shí)現(xiàn)相

12、應(yīng)的功能,分別是輸入模塊、計(jì)算模塊以及輸出模塊。</p><p>  其中各個(gè)模塊的任務(wù)要求為:</p><p>  * 輸入模塊:輸入兩個(gè)2位十進(jìn)制數(shù)以及運(yùn)算模式的選擇</p><p>  * 計(jì)算模塊:根據(jù)輸入模塊的選擇完成相應(yīng)的運(yùn)算過(guò)程</p><p>  * 輸出模塊:輸出各個(gè)輸入及計(jì)算結(jié)果</p><p> 

13、 1.2.2總體方案的論證</p><p><b>  ·方案一:</b></p><p>  根據(jù)功能和指標(biāo)要求,計(jì)算器電路包括三個(gè)部分:顯示電 路、輸入電路和芯片控制電路。用七段數(shù)碼管作為顯示電路,各作為輸入電路,利用程序輸入法將計(jì)算器所需的程序?qū)懭胄酒?。模塊圖如下:</p><p><b>  ·方案二

14、:</b></p><p>  根據(jù)計(jì)算器的功能要求,計(jì)算器電路可包括四個(gè)部分:選用LED數(shù)碼管作為顯示部分,各按鍵作為輸入部分,運(yùn)算模塊,芯片控制部分。模塊圖如下:</p><p>  1.2.3 方案的對(duì)比選擇</p><p>  從電路清晰程度來(lái)說(shuō)方案二要優(yōu)于方案一,因?yàn)榉桨付@示結(jié)果清楚明了,比用方案一的準(zhǔn)確度更高,而且電路分模塊來(lái)做,更加清晰,

15、連線相對(duì)也比較簡(jiǎn)單。所以為了得到更好的結(jié)果,我所以選擇方案二。</p><p>  1.2.4各功能塊的劃分和組成</p><p>  1.2.5 系統(tǒng)的工作原理</p><p> ?。?)由于要設(shè)計(jì)的是四則計(jì)算器,可以進(jìn)行四則運(yùn)算, </p><p>  則采用七段數(shù)碼管顯示數(shù)據(jù)和結(jié)果。</p><p>  (

16、2)另外鍵盤包括兩個(gè)十進(jìn)制數(shù)輸入鍵、一個(gè)模式選擇</p><p>  鍵,故只需要3個(gè)按鍵即可。</p><p> ?。?)執(zhí)行過(guò)程:使能端打開后顯為示零,等待鍵入數(shù)值,</p><p>  當(dāng)鍵入兩個(gè)數(shù)字,計(jì)算器在內(nèi)部執(zhí)行數(shù)值轉(zhuǎn)換和存儲(chǔ),并等</p><p>  待鍵入模式,當(dāng)再鍵入模式后將在數(shù)碼管上顯示運(yùn)算結(jié)果。</p>&

17、lt;p><b>  單元電路設(shè)計(jì)</b></p><p><b>  2.1 輸入模塊</b></p><p><b>  工作原理:</b></p><p>  利用兩個(gè)100進(jìn)制的計(jì)數(shù)器作為數(shù)字的輸入,通過(guò)外接的按鍵來(lái)控制計(jì)數(shù)器,從而人為的確定輸入的數(shù)值。</p><p

18、><b>  參數(shù)計(jì)算:</b></p><p> ?、僖话龠M(jìn)制數(shù)輸出最高是99,故需7個(gè)字節(jié)才可能將其包含在內(nèi),因此cq的寬度[6..0]。</p><p> ?、贚ED每一位的最高輸出為9,故需4個(gè)字節(jié)才可能將其包含在內(nèi),故LED1和LED2的寬度為[3..0]。</p><p><b>  2.2加法模塊</b>

19、;</p><p><b>  工作原理:</b></p><p>  利用VHDL語(yǔ)言來(lái)實(shí)現(xiàn)兩個(gè)2位十進(jìn)制數(shù)的加法,做出一個(gè)小加法模塊。又由于其輸出結(jié)果在0—198之間,故要將此小減法模塊將和2個(gè)lpm divide1和2個(gè)lpm constant0相連,從而使得當(dāng)兩個(gè)十進(jìn)制數(shù)輸入后可以在3個(gè)LED數(shù)碼管上顯示最終結(jié)果。</p><p>&l

20、t;b>  參數(shù)計(jì)算:</b></p><p> ?、佥斎胱罡咧凳?9,需7個(gè)字節(jié)才可能將其包含在內(nèi),因此add_in1和add_in2的寬度[6..0]。</p><p> ?、谳敵鼋Y(jié)果最高值為3位數(shù),且要將其顯示在LED燈上,則設(shè)置3個(gè)輸出,可利用LPM_CONSTANT取10,將輸出的結(jié)果2次模10得到百位數(shù)、十位數(shù)和個(gè)位數(shù)。</p><p>

21、; ?、跮ED每一位的最高輸出為9,故add_out1、add_out2和add_out3的寬度為[3..0]。</p><p><b>  2.3減法模塊</b></p><p><b>  工作原理:</b></p><p>  利用VHDL語(yǔ)言來(lái)實(shí)現(xiàn)兩個(gè)2位十進(jìn)制數(shù)的加法,做出一個(gè)小減法模塊。又由于其輸出結(jié)果在-99

22、—99之間,故將此小減法模塊將和2個(gè)lpm divide1和2個(gè)lpm constant0相連,從而使得當(dāng)兩個(gè)十進(jìn)制數(shù)輸入后可以在3個(gè)LED數(shù)碼管上顯示最終結(jié)果,其中一個(gè)LED數(shù)碼管顯示結(jié)果的符號(hào),若為負(fù)數(shù)則符號(hào)位出現(xiàn)“F”。</p><p><b>  參數(shù)計(jì)算:</b></p><p> ?、佥斎胱罡咧凳?9,需7個(gè)字節(jié)才可能將其包含在內(nèi),因此sub_in1和su

23、b_in2的寬度[6..0]。</p><p>  ②所得結(jié)果最高值為2位數(shù),且要將其顯示在LED燈上,則設(shè)置2個(gè)數(shù)值輸出,又由于可能出現(xiàn)結(jié)果為負(fù)數(shù)的情況,故又設(shè)一個(gè)符號(hào)位輸出??衫肔PM_CONSTANT取10,將輸出的結(jié)果2次模10得到十位數(shù)和個(gè)位數(shù)。</p><p>  ③LED每一位的最高輸出為9,故sub_out1和sub_out2的寬度為[3..0]。</p>

24、<p><b>  2.4乘法模塊</b></p><p><b>  工作原理:</b></p><p>  乘法運(yùn)算可以直接調(diào)用LPM_MULT的模塊來(lái)實(shí)現(xiàn)乘法運(yùn)算。又由于其輸出結(jié)果在0—9801之間,故要將此模塊和4個(gè)lpm divide1和4個(gè)lpm constant0相連,從而使得當(dāng)兩個(gè)十進(jìn)制數(shù)輸入后可以在4個(gè)LED數(shù)碼管上顯

25、示最終結(jié)果。</p><p><b>  參數(shù)計(jì)算:</b></p><p> ?、佥斎胱罡咧凳?9,需7個(gè)字節(jié)才可能將其包含在內(nèi),因此dataa和datab的寬度[6..0]。</p><p> ?、谒媒Y(jié)果最高值為4位數(shù),且要將其顯示在LED燈上,則設(shè)置4個(gè)數(shù)值輸出,可利用LPM_CONSTANT取10,將輸出的結(jié)果4次模10得到千位數(shù)、百

26、位數(shù)、十位數(shù)和個(gè)位數(shù)。</p><p> ?、跮ED每一位的最高輸出為9,故out_mult1、out_mult2、out_mult3和out_mult4的寬度為[3..0]。</p><p><b>  2.5 除法模塊</b></p><p><b>  工作原理:</b></p><p>  

27、除法運(yùn)算可以直接調(diào)用LPM_DIVIDE的模塊來(lái)實(shí)現(xiàn)除法運(yùn)算。又由于其輸出結(jié)果在0—99之間,故要將此模塊和2個(gè)lpm divide1和2個(gè)lpm constant0相連,可利用LPM_CONSTANT取10,將輸出的結(jié)果2次模10得到十位數(shù)和個(gè)位數(shù)。</p><p><b>  參數(shù)計(jì)算:</b></p><p> ?、佥斎胱罡咧凳?9,需7個(gè)字節(jié)才可能將其包含在內(nèi)

28、,因此div_in1和div_in1的寬度[6..0]。</p><p>  ②所得結(jié)果最高值為2位數(shù),且要將其顯示在LED燈上,則設(shè)置2個(gè)數(shù)值輸出,可利用LPM_CONSTANT取10,將輸出的結(jié)果2次模10得到商的十位數(shù)和個(gè)位數(shù)。</p><p> ?、跮ED每一位的最高輸出為9,故div_out1和div_out2的寬度為[3..0]。</p><p>  2

29、.6 模式選擇模塊</p><p><b>  工作原理:</b></p><p>  由于要在加、減、乘、除四個(gè)模式中選擇一個(gè)進(jìn)行計(jì)算,所以可利用一個(gè)四選一的數(shù)據(jù)選擇器來(lái)作為模式選擇器,通過(guò)一個(gè)時(shí)鐘信號(hào)來(lái)改變改變數(shù)據(jù)選擇器從而控制模式選擇。</p><p><b>  2.7輸出模塊</b></p><

30、;p><b>  工作原理:</b></p><p>  將加、減、乘、除各個(gè)模塊的輸出和模式選擇的輸出作為輸入,以模式選擇的輸入作為控制信號(hào)來(lái)控制結(jié)果的輸出。</p><p><b>  參數(shù)計(jì)算:</b></p><p>  該模塊的各項(xiàng)輸入是由其他模塊的輸出來(lái)決定的,故此模塊的參數(shù)要和之前的模塊參數(shù)一一對(duì)應(yīng)。&

31、lt;/p><p><b>  軟件設(shè)計(jì)</b></p><p>  3.1 軟件設(shè)計(jì)平臺(tái)、開發(fā)工具和實(shí)現(xiàn)方法</p><p>  在Quartus II平臺(tái)中用VHDL語(yǔ)言編寫各個(gè)模塊所需要的程序或者調(diào)用Quartus II中原有的模塊并利用原理圖設(shè)計(jì)方法完成整個(gè)設(shè)計(jì),借助EDA實(shí)驗(yàn)箱進(jìn)行實(shí)驗(yàn)程序的調(diào)試和檢測(cè)。</p>&l

32、t;p>  3.2程序的流程方框圖</p><p>  3.3實(shí)現(xiàn)的功能及程序清單</p><p>  3.3.1百進(jìn)制計(jì)數(shù)器</p><p>  功能:作為兩個(gè)2位的十進(jìn)制數(shù)的輸入</p><p><b>  程序:</b></p><p>  library ieee;</p>

33、;<p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity cnt99 is</p><p>  port(clk,rst,en:in std_logic;</p><p>  cq: buffer

34、 std_logic_vector(6 downto 0);</p><p>  LED1:out std_logic_vector(3 downto 0);</p><p>  LED2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  cout:out std_logic);</p><p>  en

35、d cnt99;</p><p>  architecture behav of cnt99 is</p><p><b>  begin</b></p><p>  process(clk,rst,en)</p><p>  variable cqi:std_logic_vector(3 downto 0);</

36、p><p>  variable cqii:std_logic_vector(6 downto 0);</p><p>  variable hi:std_logic_vector(3 downto 0);</p><p><b>  begin</b></p><p>  if rst ='1' then

37、cqi:=(others =>'0');hi:=(others =>'0');</p><p>  elsif clk'event and clk='1' then </p><p>  if en ='1' then </p><p>  if hi<9 then </

38、p><p>  if cqi<9 then cqi:=cqi+1;</p><p>  else cqi:=(others=>'0');</p><p><b>  hi:=hi+1;</b></p><p><b>  end if ;</b></p><

39、;p>  else hi:=(others =>'0');</p><p><b>  end if;</b></p><p>  if cqii<99 then cqii:=cqii+1;</p><p>  else cqii:=(others=>'0');</p>&l

40、t;p><b>  end if ;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  if(cqi=9 and hi=9) then cout<='1';</p><p

41、>  else cout<='0'; </p><p><b>  end if ;</b></p><p><b>  cq<=cqii;</b></p><p><b>  LED1<=hi;</b></p><p>  LED2&l

42、t;=cqi;</p><p>  end process;</p><p>  end behav;</p><p>  3.3.2四選一數(shù)據(jù)選擇器</p><p><b>  功能:選擇運(yùn)算模式</b></p><p><b>  程序:</b></p>&

43、lt;p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY jinzhi4 IS</p><p>  PORT (CLK,RST,EN : IN STD_LO

44、GIC; </p><p>  CQ : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); </p><p>  COUT : OUT STD_LOGIC ); </p><p>  END jinzhi4;</p><p>  ARCHITECTURE

45、behav OF jinzhi4 IS</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK, RST, EN)</p><p>  VARIABLE CQI : STD_LOGIC_VECTOR(1 DOWNTO 0); </p><p><b>  BEGIN<

46、/b></p><p>  IF RST = '1' THEN CQI := (OTHERS =>'0') ; ELSIF CLK'EVENT AND CLK='1' THEN </p><p>  IF EN = '1' THEN

47、 </p><p>  CQI := CQI + 1;</p><p><b>  END IF;</b></p><p>  END IF; </p><p>  IF CQI = 0 THEN COUT <= '1'; </p><p>  ELSE CO

48、UT <= '0';</p><p><b>  END IF;</b></p><p>  CQ <= CQI; </p><p>  END PROCESS;</p><p>  END behav;</p><p>  3.3.3加法模塊:</p>

49、<p><b>  功能:進(jìn)行加運(yùn)算</b></p><p><b>  原理圖:</b></p><p><b>  3.3.4減法模塊</b></p><p><b>  功能:進(jìn)行減法運(yùn)算</b></p><p><b>  

50、原理圖:</b></p><p><b>  3.3.5乘法模塊</b></p><p><b>  功能:進(jìn)行乘法運(yùn)算</b></p><p><b>  原理圖:</b></p><p><b>  3.3.6除法模塊</b></p&

51、gt;<p><b>  功能:進(jìn)行除法運(yùn)算</b></p><p><b>  原理圖:</b></p><p><b>  3.3.7輸出模塊</b></p><p><b>  功能:控制輸出結(jié)果</b></p><p><b&g

52、t;  程序:</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY size_mod IS</p><p>

53、;  PORT(mod_sel: IN STD_LOGIC_vector(1 downto 0); </p><p>  add_out1: IN STD_LOGIC_vector(3 downto 0);</p><p>  add_out2: IN STD_LOGIC_vector(3 downto 0);</p><p>  add_out3: I

54、N STD_LOGIC_vector(3 downto 0);</p><p>  flag: IN STD_LOGIC;</p><p>  sub_out1: IN STD_LOGIC_vector(3 downto 0);</p><p>  sub_out2: IN STD_LOGIC_vector(3 downto 0);</p>&

55、lt;p>  mul_out1: IN STD_LOGIC_vector(3 downto 0);</p><p>  mul_out2: IN STD_LOGIC_vector(3 downto 0);</p><p>  mul_out3: IN STD_LOGIC_vector(3 downto 0);</p><p>  mul_out4: I

56、N STD_LOGIC_vector(3 downto 0);</p><p>  div_out1: IN STD_LOGIC_vector(3 downto 0);</p><p>  div_out2: IN STD_LOGIC_vector(3 downto 0);</p><p>  outmod: out std_logic_vector(3 d

57、ownto 0);</p><p>  outLED1: out STD_LOGIC_vector(3 downto 0);</p><p>  outLED2: out STD_LOGIC_vector(3 downto 0); </p><p>  outLED3: out STD_LOGIC_vector(3 downto 0);</p>

58、;<p>  outLED4: out STD_LOGIC_vector(3 downto 0)); </p><p>  END size_mod;</p><p>  ARCHITECTURE bhv OF size_mod IS</p><p><b>  BEGIN</b></p><

59、p>  process(mod_sel)</p><p><b>  begin</b></p><p>  case mod_sel is</p><p>  when "00" => outmod<="1000"; outLED1<=(others=> '0

60、9;);outLED2<=add_out1(3 downto 0);outLED3<=add_out2; outLED4<=add_out3;</p><p>  when "01" => outmod<="0100"; outLED1<=(others=> '0');outLED2<=(others=>

61、(not flag));outLED3<=sub_out1(3 downto 0); outLED4<=sub_out2;</p><p>  when "10" => outmod<="0010"; outLED1<=mul_out1(3 downto 0);outLED2<=mul_out2;outLED3<=mul_out3;

62、 outLED4<=mul_out4;</p><p>  when others => outmod<="0001"; outLED1<=(others=> '0');outLED2<=(others=> '0');outLED3<=div_out1(3 downto 0); outLED4<=div_ou

63、t2;</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  end bhv;</b></p><p><b>  第四章 系統(tǒng)測(cè)試</b></p><p>  4.1 功能的測(cè)

64、試方法、步驟</p><p><b>  軟件部分:</b></p><p>  1、將寫好的的程序先進(jìn)行編譯</p><p>  2、編譯通過(guò)后,利用波形仿真來(lái)觀察結(jié)果是否正確。</p><p>  3、采用模式5進(jìn)行分配管腳后,再進(jìn)行編譯</p><p>  4、將編譯通過(guò)的程序下載到EDA實(shí)

65、驗(yàn)箱上進(jìn)行硬件驗(yàn)證。</p><p><b>  硬件部分</b></p><p><b>  選擇模式5進(jìn)行測(cè)試</b></p><p>  利用多邦線將en接vcc,rst接gnd</p><p>  根據(jù)管腳的分配(鍵1—clk1、鍵2—clk2,鍵3—clk3),按鍵1和鍵2來(lái)改變輸入值,

66、按鍵3改變運(yùn)算模式。比如:當(dāng)按鍵1和鍵2輸入38和47,則可在數(shù)碼管上顯示85,按鍵3改變加法、減法、乘法、除法模式。當(dāng)模式為減法時(shí),其結(jié)果為“F9”;當(dāng)模式為乘法時(shí),其結(jié)果為1786;當(dāng)模式為除法模式時(shí),其結(jié)果為0. </p><p><b>  4.2 儀器設(shè)備</b></p><p>  EDA技術(shù)實(shí)驗(yàn)箱 </p><p>  

67、PC機(jī)(帶有quartus軟件)</p><p><b>  第五章 結(jié)論</b></p><p>  本次設(shè)計(jì)完成了設(shè)計(jì)的基本要求,即隨機(jī)輸入兩個(gè)2位數(shù),可進(jìn)行該兩個(gè)數(shù)的四則運(yùn)算并且輸出相應(yīng)的結(jié)果。同時(shí)也掌握了用VHDL語(yǔ)言來(lái)設(shè)計(jì)四則運(yùn)算的基本要求,加深了對(duì)軟件的了解。</p><p><b>  參考文獻(xiàn)</b>&l

68、t;/p><p>  潘松,黃繼業(yè).EDA技術(shù)與VHDL語(yǔ)言.第三版.北京:清華大學(xué)出版社.2011.</p><p><b>  附錄A 電路圖圖紙</b></p><p><b>  總系統(tǒng)電路圖紙</b></p><p>  乘法模塊電路圖除法模塊電路圖</p><p>

69、<b>  附錄B 軟件程序</b></p><p><b>  小加法模塊程序:</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL

70、;</p><p>  entity cal4_add is</p><p>  port(add_in1, add_in2: in std_logic_vector(6 downto 0);</p><p>  add_out: out std_logic_vector(7 downto 0));</p><p>  end e

71、ntity cal4_add;</p><p>  architecture beh of cal4_add is</p><p>  signal a1: std_logic_vector(7 downto 0);</p><p>  signal a2: std_logic_vector(7 downto 0);</p><p>  

72、signal a3: std_logic_vector(7 downto 0);</p><p><b>  begin</b></p><p>  process(add_in1, add_in2)</p><p><b>  begin</b></p><p>  a1<='0&

73、#39;&add_in1;</p><p>  a2<='0'&add_in2;</p><p>  a3 <= a2+a1;</p><p>  add_out<=a3;</p><p>  end process;</p><p>  end architectur

74、e beh;</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> 

75、 entity size_sub is</p><p>  port(sub_in1, sub_in2: in std_logic_vector(6 downto 0);</p><p>  flag: out std_logic;</p><p>  sub_out: out std_logic_vector(6 downto 0));<

76、/p><p>  end entity size_sub;</p><p>  architecture beh of size_sub is</p><p><b>  begin</b></p><p>  process(sub_in1, sub_in2)</p><p><b>  

77、begin</b></p><p>  if sub_in1>sub_in2 then</p><p>  flag <= '1';sub_out <= sub_in1-sub_in2;</p><p><b>  else</b></p><p>  flag <=

78、 '0';sub_out <= sub_in2-sub_in1;</p><p><b>  end if;</b></p><p>  end process;</p><p>  end architecture beh;</p><p><b>  百進(jìn)制計(jì)數(shù)器程序:</b&

79、gt;</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity cnt99 is</p><p>  port(clk,rst,e

80、n:in std_logic;</p><p>  cq: buffer std_logic_vector(6 downto 0);</p><p>  LED1:out std_logic_vector(3 downto 0);</p><p>  LED2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>

81、;  cout:out std_logic);</p><p>  end cnt99;</p><p>  architecture behav of cnt99 is</p><p><b>  begin</b></p><p>  process(clk,rst,en)</p><p> 

82、 variable cqi:std_logic_vector(3 downto 0);</p><p>  variable cqii:std_logic_vector(6 downto 0);</p><p>  variable hi:std_logic_vector(3 downto 0);</p><p><b>  begin</b>

83、</p><p>  if rst ='1' then cqi:=(others =>'0');hi:=(others =>'0');</p><p>  elsif clk'event and clk='1' then </p><p>  if en ='1' t

84、hen </p><p>  if hi<9 then </p><p>  if cqi<9 then cqi:=cqi+1;</p><p>  else cqi:=(others=>'0');</p><p><b>  hi:=hi+1;</b></p><p

85、><b>  end if ;</b></p><p>  else hi:=(others =>'0');</p><p><b>  end if;</b></p><p>  if cqii<99 then cqii:=cqii+1;</p><p>  el

86、se cqii:=(others=>'0');</p><p><b>  end if ;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  if(cqi=9 and hi

87、=9) then cout<='1';</p><p>  else cout<='0'; </p><p><b>  end if ;</b></p><p><b>  cq<=cqii;</b></p><p><b>  LED

88、1<=hi;</b></p><p>  LED2<=cqi;</p><p>  end process;</p><p>  end behav;</p><p><b>  四選一選擇器程序:</b></p><p>  LIBRARY IEEE;</p>

89、<p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY jinzhi4 IS</p><p>  PORT (CLK,RST,EN : IN STD_LOGIC; </p&g

90、t;<p>  CQ : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); </p><p>  COUT : OUT STD_LOGIC ); </p><p>  END jinzhi4;</p><p>  ARCHITECTURE behav OF jinzhi4 IS</p>&l

91、t;p><b>  BEGIN</b></p><p>  PROCESS(CLK, RST, EN)</p><p>  VARIABLE CQI : STD_LOGIC_VECTOR(1 DOWNTO 0); </p><p><b>  BEGIN</b></p><p>  IF R

92、ST = '1' THEN CQI := (OTHERS =>'0') ; </p><p>  ELSIF CLK'EVENT AND CLK='1' THEN IF EN = '1' THEN </p><p>

93、  CQI := CQI + 1;</p><p><b>  END IF;</b></p><p>  END IF; </p><p>  IF CQI = 0 THEN COUT <= '1'; </p><p>  ELSE COUT <= '0';<

94、/p><p><b>  END IF;</b></p><p>  CQ <= CQI; </p><p>  END PROCESS;</p><p>  END behav;</p><p><b>  輸出模塊程序:</b></p><

95、p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY size_mod IS</p><p>  PORT(mod_sel: IN STD_LOGIC_

96、vector(1 downto 0); </p><p>  add_out1: IN STD_LOGIC_vector(3 downto 0);</p><p>  add_out2: IN STD_LOGIC_vector(3 downto 0);</p><p>  add_out3: IN STD_LOGIC_vector(3 downto 0);&l

97、t;/p><p>  flag: IN STD_LOGIC;</p><p>  sub_out1: IN STD_LOGIC_vector(3 downto 0);</p><p>  sub_out2: IN STD_LOGIC_vector(3 downto 0);</p><p>  mul_out1: IN STD_LOGIC

98、_vector(3 downto 0);</p><p>  mul_out2: IN STD_LOGIC_vector(3 downto 0);</p><p>  mul_out3: IN STD_LOGIC_vector(3 downto 0);</p><p>  mul_out4: IN STD_LOGIC_vector(3 downto 0);&l

99、t;/p><p>  div_out1: IN STD_LOGIC_vector(3 downto 0);</p><p>  div_out2: IN STD_LOGIC_vector(3 downto 0);</p><p>  outmod: out std_logic_vector(3 downto 0);</p><p>  o

100、utLED1: out STD_LOGIC_vector(3 downto 0);</p><p>  outLED2: out STD_LOGIC_vector(3 downto 0); </p><p>  outLED3: out STD_LOGIC_vector(3 downto 0);</p><p>  outLED4: out STD_

101、LOGIC_vector(3 downto 0)); </p><p>  END size_mod;</p><p>  ARCHITECTURE bhv OF size_mod IS</p><p><b>  BEGIN</b></p><p>  process(mod_sel)</p>

102、<p><b>  begin</b></p><p>  case mod_sel is</p><p>  when "00" => outmod<="1000"; outLED1<=(others=> '0');outLED2<=add_out1(3 downto

103、 0);outLED3<=add_out2; outLED4<=add_out3;</p><p>  when "01" => outmod<="0100"; outLED1<=(others=> '0');outLED2<=(others=>(not flag));outLED3<=sub_out1(

104、3 downto 0); outLED4<=sub_out2;</p><p>  when "10" => outmod<="0010"; outLED1<=mul_out1(3 downto 0);outLED2<=mul_out2;outLED3<=mul_out3; outLED4<=mul_out4;</p>

105、<p>  when others => outmod<="0001"; outLED1<=(others=> '0');outLED2<=(others=> '0');outLED3<=div_out1(3 downto 0); outLED4<=div_out2;</p><p><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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論