freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于quartusⅱ的通用運(yùn)算器的設(shè)計與實現(xiàn)學(xué)士學(xué)位論文-資料下載頁

2025-07-10 12:11本頁面

【導(dǎo)讀】在集成電路設(shè)計領(lǐng)域中,各類微處理器已經(jīng)成為了整個芯片系統(tǒng)的核心。算器作為其核心部件,得到廣泛的發(fā)展。與此同時,為了增加電子產(chǎn)品產(chǎn)出效率,良好的開發(fā)平臺。全加器、乘法器、除法器進(jìn)行了仿真設(shè)計。首先本文介紹了課題的背景、意義、發(fā)展現(xiàn)狀及未來走向,并對研究內(nèi)容及設(shè)計方案進(jìn)行了簡單介紹。隨后對半加器、全加器、乘。法器、除法器進(jìn)行了編程、仿真以及在QuartusⅡ平臺上對仿真結(jié)果進(jìn)行驗證。從而做到了從理論到實踐,學(xué)以致用。

  

【正文】 abin輸入為 1時,輸出 dout=din;所以仿真結(jié)果是正確的。 8 位右移寄存器模塊 8位右移寄存器原理 8 位移位寄存器是在時鐘( r8_clk39。event and r8_clk=39。139。)信號作用下,當(dāng)r8_clr=39。139。時,將 8 位乘數(shù)加載進(jìn)入;而當(dāng) r8_clr=39。039。時,對數(shù)據(jù)進(jìn)行移位操作,同時定義一個信號 reg8 用來裝載新數(shù)據(jù)及移位后的操作數(shù),完成這些操作后,寄存器的最低位 r8_in(0)傳送給 r8_out 輸出 。 8位右移寄存器 其程序代碼如下: library ieee。 use 。 use 。 entity sreg8b is port( clk,load:in std_logic。 din:in std_logic_vector(7 downto 0)。 qb:out std_logic)。 end。 理工大學(xué)學(xué)士論文 34 architecture one of sreg8b is signal reg8:std_logic_vector(7 downto 0)。 begin process(clk,load) begin if clk39。event and clk=39。139。 then if load=39。139。 then reg8=din。 else reg8(6 downto 0)=reg8(7 downto 1)。 end if。 end if。 end process。 qb=reg8(0)。 end。 8位右移寄存器仿真結(jié)果如圖 。 圖 8位右移寄存器仿真結(jié)果 乘法器的其他模塊 乘法運(yùn)算控制器 乘法運(yùn)算控制器在這里的作用是使在它上輸入什么數(shù)據(jù),就會輸出顯示所輸入的數(shù)據(jù)。 其程序代碼如下: library ieee。 理工大學(xué)學(xué)士論文 35 use 。 use 。 entity arictl is port( clk,start:in std_logic。 clkout,rstall,ariend:out std_logic)。 end。 architecture one of arictl is signal t4b:std_logic_vector(3 downto 0)。 begin rstall=start。 process(clk,start) begin if start=39。139。 then t4b=0000。 elsif clk39。event and clk=39。139。 then if t4b8 then 小于 8則計數(shù),等于 8則表明乘法運(yùn)算已經(jīng)結(jié)束 t4b=t4b+1。 end if。 end if。 end process。 process(clk,t4b,start) begin if start=39。039。 then if t4b8 then clkout=clk。 ariend=39。039。 else clkout=39。039。 ariend=39。139。 end if。 else clkout=clk。 ariend=39。039。 end if。 end process。 end。 理工大學(xué)學(xué)士論文 36 16位鎖存器 當(dāng)清零信號 (reg16_clr=39。139。)到來時,定義信號變量 sel清零;否則在時鐘信號reg16_clk 上升沿到來時,將 sel 的低 8位進(jìn)行移位操作,同時將 8位的數(shù)據(jù)輸入reg16_in 鎖存到 sel的高 8位,最后賦值給 reg16_out 輸出。輸出前八個數(shù)據(jù)。 其程序代碼如下: library ieee。 use 。 use 。 entity reg16b is port( clk,clr:in std_logic。 d:in std_logic_vector(8 downto 0)。 q:out std_logic_vector(15 downto 0))。 end。 architecture one of reg16b is signal r16s:std_logic_vector(15 downto 0)。 begin process(clk,clr) begin if clr=39。139。 then r16s=0000000000000000。 elsif clk39。event and clk=39。139。 then r16s(6 downto 0)=r16s(7 downto 1)。 r16s(15 downto 7)=d。 end if。 end process。 q=r16s。 end。 8位乘法器的頂層設(shè)計 8位 乘法器的頂層設(shè)計是當(dāng) start上升沿到來,將乘數(shù) a鎖存到 reg_8 中,同時將 16 位的移位寄存器 reg_16 清零,然后隨著時鐘 clk上升沿的到來,對 reg_8 中的乘數(shù)進(jìn)行移位操作,最低位在前,由低到高逐位輸出。 1 位乘法器中進(jìn)行與 8 位被乘數(shù)的相乘運(yùn)算,并與鎖存在 16位寄存器 reg_16 中的高 8 位進(jìn)行相加,其和理工大學(xué)學(xué)士論文 37 (包含進(jìn)位)在下一個時鐘的 上升沿到來時鎖存到 16 位寄存器中。如此進(jìn)行直到第八個時鐘上升沿到來時, reg_16 的輸出即為所求的乘積 。 其程序代碼如下所示: library ieee。 use 。 use 。 entity mult8x8 is port( clk:in std_logic。 start:in std_logic。 a,b:in std_logic_vector(7 downto 0)。 dout:out std_logic_vector(15 downto 0)。 ariend:out std_logic)。 end。 architecture struc of mult8x8 is ponent adder8b is port( cin:in std_logic。 a,b:in std_logic_vector(7 downto 0)。 s:out std_logic_vector(7 downto 0)。 cout:out std_logic)。 end ponent。 ponent andarith is port( abin:in std_logic。 din:in std_logic_vector(7 downto 0)。 dout:out std_logic_vector(7 downto 0))。 end ponent。 ponent arictl is port( clk,start:in std_logic。 clkout,rstall,ariend:out std_logic)。 end ponent。 ponent reg16b is port( clk,clr:in std_logic。 理工大學(xué)學(xué)士論文 38 d:in std_logic_vector(8 downto 0)。 q:out std_logic_vector(15 downto 0))。 end ponent。 ponent sreg8b is port( clk,load:in std_logic。 din:in std_logic_vector(7 downto 0)。 qb:out std_logic)。 end ponent。 signal gndint :std_logic。 signal intclk :std_logic。 signal rstall :std_logic。 signal qb :std_logic。 signal andsd :std_logic_vector(7 downto 0)。 signal dtbin :std_logic_vector(8 downto 0)。 signal dtbout :std_logic_vector(15 downto 0)。 begin dout=dtbout。 gndint=39。039。 u1:arictl port map( clk,start,intclk,rstall,ariend)。 u2:sreg8b port map(intclk,rstall,b,qb)。 u3:andarith port map(qb,a,andsd)。 u4:adder8b port map(gndint,dtbout(15 downto 8),andsd,dtbin(7 downto 0),dtbin(8))。 u5:reg16b port map(intclk,rstall,dtbin,dtbout)。 end。 乘法器的仿真結(jié)果如圖 。 理工大學(xué)學(xué)士論文 39 圖 乘法器的功能 仿真圖 由圖可知輸入的兩個數(shù) 9,89最后的結(jié)果為 0000 0000 0100 1000即 72,所以仿真結(jié)果是正確的。 基于 Quartus II 的除法器運(yùn)算 除法器的原理與流程圖 除法器原理 本文所做的除法器是由被除數(shù)減去除數(shù),當(dāng)被除數(shù)減去除數(shù)小于 0的時候就停止進(jìn)行,則之前減的次數(shù)就是此次運(yùn)算的商,最后一次計算所剩余的數(shù)就是此次運(yùn)算的商。 除法器流程圖如圖 。 理工大學(xué)學(xué)士論文 40 圖 除法器流程圖 除法器的設(shè)計與實現(xiàn) 除法器的建立過程可以參見半加器的建立過程。 除法器的程序代碼 : library ieee。 use 。 use 。 理工大學(xué)學(xué)士論文 41 use 。 entity chufaqi is port(a,b: in integer range 15 downto 0。 c,d:out integer range 15 downto 0)。 end entity chufaqi。 architecture rt of chufaqi is begin process(a,b) variable e,f,g:integer range 16 downto 0。 begin if (b=0) then c = 15。d = 15。 else f:=a。g:=b。 e:=0。 for i in 15 downto 0 loop if (f=g) then f:=fg。 e:=e+1。 else exit。 end if。 end loop。 c=e。d=f。 end if。 end process。 end rt。 除法器的仿真結(jié)果如圖 。 圖 除法器 功能 仿真 圖 理工大學(xué)學(xué)士論文 42 由圖可以看出 ,第一段 14/3的結(jié)果 為 4,余數(shù)為 2;如第二段,當(dāng)被除數(shù) 4小于除數(shù) 10,商為 0,余數(shù)為 4;所得仿真完全滿足除法法則,所以所得仿真結(jié)果是正確的。 理工大學(xué)學(xué)士論文 43 結(jié) 論 本次畢業(yè)設(shè)計的課題是“基于 QuartusⅡ 的 運(yùn)算器的設(shè)計與實現(xiàn) ”。該課題通過開發(fā)環(huán)境的學(xué)習(xí)與應(yīng)用,實現(xiàn)了軟件的仿真驗證。通過該畢業(yè)設(shè)計, 完成了以下內(nèi)容 。 ( 1) 依據(jù) 原理 對各種運(yùn)算器 做 了 詳細(xì)分析; ( 2) 把運(yùn)算器分成半加器、全加器、乘法器和除法器分別進(jìn)行實現(xiàn), 完成了一位半加器和一位全加器的實現(xiàn);在乘法器中,把乘法器分成了 5個模 塊,即用四位二進(jìn)制加法器設(shè)計的八位二進(jìn)制加法器模塊、一位乘法器模塊、乘法運(yùn)算控制器模塊、 16位鎖存器模塊、 8位右移寄存器模塊,并分別對這些模塊進(jìn)行實現(xiàn),然后完成了八位二進(jìn)制乘法器;最后對除法器進(jìn)行了實現(xiàn)。 然后在
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1