EDA課程設(shè)計(jì)--流水線的數(shù)字相關(guān)器.doc_第1頁
EDA課程設(shè)計(jì)--流水線的數(shù)字相關(guān)器.doc_第2頁
EDA課程設(shè)計(jì)--流水線的數(shù)字相關(guān)器.doc_第3頁
EDA課程設(shè)計(jì)--流水線的數(shù)字相關(guān)器.doc_第4頁
EDA課程設(shè)計(jì)--流水線的數(shù)字相關(guān)器.doc_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

太原科技大學(xué):名字起個(gè)什么EDA課程設(shè)計(jì)流水線技術(shù)高速數(shù)字相關(guān)器2008年06月一、 設(shè)計(jì)任務(wù)要求基本要求:1,實(shí)驗(yàn)?zāi)康模涸O(shè)計(jì)一個(gè)在數(shù)字通信系統(tǒng)中常見的數(shù)字相關(guān)器,并利用流水線技術(shù)提高其工作速度,對其進(jìn)行仿真和硬件測試。2,實(shí)驗(yàn)原理:數(shù)字相關(guān)器用于檢測等長度的兩個(gè)數(shù)字序列相等的位數(shù),實(shí)現(xiàn)序列的相關(guān)運(yùn)算。一位相關(guān)器,即異或門,異或的結(jié)果可以表示兩個(gè)1位數(shù)據(jù)的相關(guān)程序。異或?yàn)?表示數(shù)據(jù)位相同;異或?yàn)?表示數(shù)據(jù)位不同。多位數(shù)字相關(guān)器可以由多個(gè)一位相關(guān)器構(gòu)成,如N位數(shù)字相關(guān)器由N個(gè)異或門和N個(gè)位相關(guān)結(jié)果統(tǒng)計(jì)電路構(gòu)成。3,實(shí)驗(yàn)內(nèi)容:(1)根據(jù)上述原理設(shè)計(jì)一個(gè)并行4位數(shù)字相關(guān)器。(2)利用實(shí)驗(yàn)內(nèi)容1中的4位數(shù)字相關(guān)器設(shè)計(jì)并行16位數(shù)字相關(guān)器。擴(kuò)展要求:(3)上面16數(shù)字相關(guān)器是3級組合邏輯實(shí)現(xiàn)的,在實(shí)際使用時(shí),對其有高速的要求,試使用流水線技術(shù)改善其運(yùn)行速度。在輸入、輸出及每一級組合邏輯的結(jié)果加入流水線寄存器,提高速度。二、 總體框圖(1)原理框圖 用4個(gè)4位相關(guān)器中間通過相應(yīng)的加法器,把這4個(gè)元器件并起來合成一個(gè)并行的16位相關(guān)器。因?yàn)槭?2個(gè)輸入在其輸入口加入2個(gè)寄存器來控制這32個(gè)輸入口的存儲(chǔ)和輸出。在在其2個(gè)寄存器的前面加入1個(gè)多路選擇器,通過16個(gè)信號,再加一個(gè)開關(guān),控制2個(gè)寄存器的輸出。16位的相關(guān)器的框圖如下:16位路選擇器 寄存器寄存器4位相關(guān)器 4位相關(guān)器4位相關(guān)器4位相關(guān)器 2進(jìn)3出全加器 2進(jìn)3出全加器3進(jìn)4出全加器 16位相關(guān)器設(shè)計(jì)思路: 要想把32個(gè)信號,在實(shí)驗(yàn)箱上實(shí)驗(yàn),所以在原有電路的基礎(chǔ)上要加上2個(gè)16位的寄存器,這樣才能保證在實(shí)驗(yàn)箱的應(yīng)用,和最終的仿真。最初的設(shè)計(jì)是,先有的4位并16位的相關(guān)器,可是考慮到實(shí)際情況,不得不在其加入相關(guān)的器件,才能達(dá)到應(yīng)有的結(jié)果。如何把4個(gè)4位相關(guān)器并起來呢,我用了3個(gè)全加器把他們的信號加起來,得到16位的相關(guān)器。三、選擇器件Altera 的CycloneFPGA系列具有可編程邏輯的優(yōu)勢,價(jià)格足以和ASIC以及ASSP相競爭。從根本上針對數(shù)百名客戶的大量信息進(jìn)行設(shè)計(jì)開發(fā),這些低成本器件具備了大批量應(yīng)用特性,例如嵌入式存儲(chǔ)器、外部存儲(chǔ)器接口和時(shí)鐘管理電路等。 Altera Cyclone FPGA是目前市場上性價(jià)比最優(yōu)且價(jià)格最低的FPGA。Cyclone器件具有為大批量價(jià)格敏感應(yīng)用優(yōu)化的功能集,這些應(yīng)用市場包括消費(fèi)類、工業(yè)類、汽車業(yè)、計(jì)算機(jī)和通信類。器件基于成本優(yōu)化的全銅1.5V SRAM工藝,容量從2910至20060個(gè)邏輯單元,具有多達(dá)294912bit嵌入RAM,見表1。Cyclone FPGA支持各種單端I/O標(biāo)準(zhǔn)如LVTTL、LVCMOS、PCI和SSTL-2/3,通過LVDS和RSDS標(biāo)準(zhǔn)提供多達(dá)129個(gè)通道的差分I/O支持。每個(gè)LVDS通道高達(dá)640Mbps。Cyclone器件具有雙數(shù)據(jù)速率(DDR) SDRAM和FCRAM接口的專用電路。Cyclone FPGA中有兩個(gè)鎖相環(huán)(PLLs)提供六個(gè)輸出和層次時(shí)鐘結(jié)構(gòu),以及復(fù)雜設(shè)計(jì)的時(shí)鐘管理電路。這些業(yè)界最高效架構(gòu)特性的組合使得FPGA系列成為ASIC最靈活和最合算的替代方案。四、 功能模塊1、16位的多路選擇器仿真波形:仿真分析:當(dāng)s為01時(shí),將data0的值賦給data2;當(dāng)s為00時(shí),將data0的值賦給data116位的多路選擇器,其功能是能夠試16位的信號同時(shí)附加到dada1和data2上。其VHDL語言如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity selc isport(s:in std_logic_vector(1 downto 0); data:in std_logic_vector(15 downto 0); data1:out std_logic_vector(15 downto 0); e: out std_logic; data2:out std_logic_vector(15 downto 0);end selc;architecture fun of selc isbegin process(s)begincase s is when 00 = data1=data;e data2=data;e null;end case;end process;end fun;2、16位的寄存器仿真波形:仿真分析:當(dāng)address,inlock為1、outclock為0時(shí),將data得值賦給q其功能是存儲(chǔ)和輸出16位的信號。其VHDL的語言如下:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY ram ISPORT(address: IN STD_LOGIC_VECTOR (0 DOWNTO 0);data: IN STD_LOGIC_VECTOR (15 DOWNTO 0);inclock: IN STD_LOGIC ;outclock: IN STD_LOGIC ;wren: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (15 DOWNTO 0);END ram;ARCHITECTURE SYN OF ram ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (15 DOWNTO 0);COMPONENT altsyncramGENERIC (address_aclr_a: STRING;indata_aclr_a: STRING;intended_device_family: STRING;lpm_type: STRING;numwords_a: NATURAL;operation_mode: STRING;outdata_aclr_a: STRING;outdata_reg_a: STRING;power_up_uninitialized: STRING;widthad_a: NATURAL;width_a: NATURAL;width_byteena_a: NATURAL;wrcontrol_aclr_a: STRING);PORT (wren_a: IN STD_LOGIC ;clock0: IN STD_LOGIC ;clock1: IN STD_LOGIC ;address_a: IN STD_LOGIC_VECTOR (0 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (15 DOWNTO 0);data_a: IN STD_LOGIC_VECTOR (15 DOWNTO 0);END COMPONENT;BEGINq NONE,indata_aclr_a = NONE,intended_device_family = Cyclone,lpm_type = altsyncram,numwords_a = 1,operation_mode = SINGLE_PORT,outdata_aclr_a = NONE,outdata_reg_a = CLOCK1,power_up_uninitialized = FALSE,widthad_a = 1,width_a = 16,width_byteena_a = 1,wrcontrol_aclr_a = NONE)PORT MAP (wren_a = wren,clock0 = inclock,clock1 = outclock,address_a = address,data_a = data,q_a = sub_wire0);END SYN;3、4位相關(guān)器仿真波形:仿真分析:當(dāng)輸入端輸入a和b輸出端sum結(jié)果正確。4位相關(guān)器,用4個(gè)1位相關(guān)器組成,位相關(guān)器,即異或門,異或的結(jié)果可以表示兩個(gè)1位數(shù)據(jù)的相關(guān)程序。 其VHDL語言如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity xiangguan4 is port(a,b:in std_logic_vector(3 downto 0); sum:out std_logic_vector(2 downto 0); clk:in std_logic); end xiangguan4;architecture one of xiangguan4 issignal ab :std_logic_vector(3 downto 0);beginab=a xor b; process(clk)beginif clkevent and clk=1 thenif ab=1111 then sum=000; elsif ab=0111 or ab=1011 or ab=1101 or ab=1110 then sum=001;elsif ab=0001 or ab=0010 or ab=0100 or ab=1000 then sum=011;elsif ab=0000 then sum=100;else sum=010;end if;end if;end process;end one;4、二進(jìn)三出的加法器仿真波形:仿真分析:時(shí)鐘clk為10.0ns,當(dāng)輸入端輸入a和b:輸出端sum結(jié)果正確。二進(jìn)三出的加法器,其功能是將2個(gè)2位的信號疊加成一個(gè)3位的輸出。其VHDL的語言如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity add3 is port(clk:in std_logic; a,b:in std_logic_vector(2 downto 0); c:out std_logic_vector(3 downto 0);end add3;architecture pipelining_arch of add3 is signal t0,t1:std_logic_vector(2 downto 0); signal addtmp :std_logic_vector(3 downto 0);beginprocess(clk) begin if(clkevent and clk=1)then t0=a;t1=b; end if;end process;process(clk) beginif(clkevent and clk=1)then addtmp=0&t0+t1; c=addtmp;end if;end process;end pipelining_arch;5、3進(jìn)4出加法器 仿真波形:仿真分析:時(shí)鐘clk為10.0ns,當(dāng)輸入端輸入a和b輸出端sum結(jié)果正確。3進(jìn)4出加法器,其功能是將2個(gè)3位的信號疊加起來輸出一個(gè)4位的信號。其VHDL語言如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity add4 is port(clk:in std_logic; a,b:in std_logic_vector(3 downto 0); c:out std_logic_vector(4 downto 0);end add4;architecture pipelining_arch of add4 is signal t0,t1:std_logic_vector(3 downto 0); signal addtmp :std_logic_vector(4 downto 0);beginprocess(clk) begin if(clkevent and clk=1)then t0=a;t1=b; end if;end process;process(clk) beginif(clkevent and clk=1)then addtmp=0&t0+t1; c=addtmp;end if;end process;end pipelining_arch;其4個(gè)4位相關(guān)器設(shè)計(jì)的16位相關(guān)器的仿真結(jié)果如下:加流水線和不加流水線的器件比較:有流水線的加法器。不加流水線的加法器。五、總體設(shè)計(jì)電路圖 1,總體電路原理圖用16路的多路選擇器把信號分為A,B,把A,B這兩個(gè)16個(gè)信號同時(shí)儲(chǔ)存在2個(gè)16位的寄存器中,通過開關(guān)EN,同時(shí)把這兩個(gè)寄存器中的信號A,B發(fā)給4個(gè)4位相關(guān)器,通過3個(gè)加法器,把這32個(gè)信號整合成,16位的相關(guān)器。 2、QUARATUS II的仿真結(jié)果不加流水線的速度。加流水線的速度3、管腳分配圖實(shí)驗(yàn)連線及說明: zh0zh15分別對應(yīng)著EDAVI的PIN10599,功能選擇:VGA3.0對應(yīng)著PIN163,164,164,163C4.0對應(yīng)著EDAVI底板的PIN132136,EN對應(yīng)的事PIN127,S1.0對應(yīng)著PIN4,5。4、硬件測試結(jié)果 1、把IO9IO13分別接在LED顯示上。 2、將S1,S2搬動(dòng)到00端,讓后搬動(dòng)16個(gè)信號,再將S1,S2搬動(dòng)到11,再次搬動(dòng)16個(gè)信號,試這32個(gè)信號存儲(chǔ)到寄存器中,通過EN的按鈕,把這32個(gè)信號輸出3、這時(shí)觀察燈的亮滅情況4、輸入0000000000000000寄存,再次輸入0000000000000000輸出是10000證明測試正確。學(xué)習(xí)心得通過本次實(shí)習(xí),將書本上學(xué)到的知識(shí)應(yīng)用于實(shí)踐

溫馨提示

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

最新文檔

評論

0/150

提交評論