EDA技術(shù)與應(yīng)用講義第9章第1節(jié)設(shè)計(jì)方法課件_第1頁
EDA技術(shù)與應(yīng)用講義第9章第1節(jié)設(shè)計(jì)方法課件_第2頁
EDA技術(shù)與應(yīng)用講義第9章第1節(jié)設(shè)計(jì)方法課件_第3頁
EDA技術(shù)與應(yīng)用講義第9章第1節(jié)設(shè)計(jì)方法課件_第4頁
EDA技術(shù)與應(yīng)用講義第9章第1節(jié)設(shè)計(jì)方法課件_第5頁
已閱讀5頁,還剩167頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第9章第1節(jié)

設(shè)計(jì)方法

<EDA技術(shù)與應(yīng)用>課程講義下一章合肥工業(yè)大學(xué)彭良清上一章

第9章第1節(jié)

設(shè)計(jì)方法

<EDA技術(shù)與應(yīng)用>課程講義下1本節(jié)內(nèi)容可編程邏輯設(shè)計(jì)的基本原則可編程邏輯設(shè)計(jì)常用設(shè)計(jì)思想和技巧Altera公司推薦的編碼風(fēng)格面積優(yōu)化速度優(yōu)化本節(jié)內(nèi)容可編程邏輯設(shè)計(jì)的基本原則2可編程邏輯設(shè)計(jì)的基本原則面積和速度的平衡與互換原則硬件原則系統(tǒng)原則同步設(shè)計(jì)原則避免使鎖存器(LATCH)Peter關(guān)于成功設(shè)計(jì)的十大原則可編程邏輯設(shè)計(jì)的基本原則面積和速度的平衡與互換原則3面積和速度:含義面積:含義:設(shè)計(jì)所消耗的FPGA/CPLD的邏輯資源數(shù)量衡量指標(biāo):觸發(fā)器數(shù)(FF),查找表數(shù)(LUT),宏單元數(shù)(MC),邏輯門數(shù)(GATE),邏輯單元數(shù)(LE)速度含義:設(shè)計(jì)在芯片上穩(wěn)定運(yùn)行所達(dá)到的最高頻率影響最高頻率的因子:PADtoPADTimeClockSetupTimeClockHoldTimeClocktoOutputDelay面積和速度:含義面積:4建立時(shí)間(Tsetuptime)&

保持時(shí)間(Tholdtime)返回建立時(shí)間(Tsetuptime)&

保持時(shí)間(Tho5時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+TLOGIC+TNET+TSETUP-TCLK_SKEW時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+T6時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+TLOGIC+TNET+TSETUP-TCLK_SKEWTCLK: 最小時(shí)鐘周期TCKO: 時(shí)鐘輸出時(shí)間TLOGIC: 同步元件之間的組合邏輯時(shí)間TNET: 網(wǎng)線延時(shí)TSETUP: 同步元件的建立時(shí)間TCLK_SKEW: 時(shí)鐘信號(hào)延時(shí)的差別TCLK_SKEW=TCD2-TCD1時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+T7時(shí)鐘的最小周期定義(Altera模型)時(shí)鐘的最小周期定義(Altera模型)8面積和速度:含義一個(gè)設(shè)計(jì)的速度和面積往往是一個(gè)范圍,是可變的如何改變?cè)O(shè)計(jì)的速度和面積:修改代碼,采用不同的代碼結(jié)構(gòu)在EDA軟件中對(duì)設(shè)計(jì)的目標(biāo)碼進(jìn)行編譯控制選擇不同的器件設(shè)計(jì)的目標(biāo)不是:占用最小的面積達(dá)到最快的速度設(shè)計(jì)的目標(biāo)而是:在滿足項(xiàng)目功能和性能指標(biāo)要求的情況下達(dá)到面積和速度均衡面積和速度:含義一個(gè)設(shè)計(jì)的速度和面積往往是一個(gè)范圍,是可變的9硬件原則差異: 不能用編寫軟件語言(C,C++,JAVA)的邏輯來編寫VHDL代碼過程: 必須對(duì)實(shí)現(xiàn)的硬件電路“成竹在胸”,然后再用HDL代碼實(shí)現(xiàn)之串行和并行: 必須深刻理解之基本語句電路: 對(duì)基本IF,SWITCH,CASE,FOR等語句生成的電路應(yīng)完全掌握硬件原則差異:10系統(tǒng)原則

與其他部分的任務(wù)劃分: 在一塊具有DSPCPUFPGA/CPLD的系統(tǒng)中如何劃分”勢(shì)力范圍”?內(nèi)部資源的任務(wù)劃分不同RAM資源的使用(M512RAM/M4KRAM/MRAM)軟核的使用SERDES的使用其他資源系統(tǒng)原則

與其他部分的任務(wù)劃分:11同步原則一般電路,盡量使用同步設(shè)計(jì)對(duì)于高速電路, 必須使用同步電路結(jié)構(gòu) 進(jìn)行設(shè)計(jì)Why? 請(qǐng)看:同步與異步的比較:同步原則一般電路,盡量使用同步設(shè)計(jì)12異步電路核心邏輯用組合邏輯實(shí)現(xiàn)電路的主要信號(hào)、輸出信號(hào)不依賴于時(shí)鐘容易產(chǎn)生毛刺不利于器件移植不容易進(jìn)行時(shí)序分析異步電路核心邏輯用組合邏輯實(shí)現(xiàn)13同步電路核心邏輯用觸發(fā)器實(shí)現(xiàn)電路的主要信號(hào)、輸出信號(hào)依賴于時(shí)鐘邊沿可完全避免產(chǎn)生毛刺利于器件移植容易進(jìn)行時(shí)序分析同步電路核心邏輯用觸發(fā)器實(shí)現(xiàn)14異步設(shè)計(jì)的例子BinaryCounter:LLLLLLLHLLHLLLHH..........HHHHBCDtoDEC:LLLL->HHHHHHHHHLLLLH->HHHHHHHHLHLLHL->HHHHHHHLHHLLHH->HHHHHHLHHH..........->............................HLLH->LHHHHHHHHH異步設(shè)計(jì)的例子BinaryCounter:LLLLBC15預(yù)期的輸出波形這是一個(gè)理想的

輸出波形但是實(shí)際的波形是什么?預(yù)期的輸出波形這是一個(gè)理想的16功能仿真輸出What

is

this?功能仿真輸出Whatisthis?17時(shí)序仿真輸出這里出錯(cuò)!!!原因?電路設(shè)計(jì)問文題還是CPLD器件問題?但.....該電路使用74xxTTL邏輯電路可工作很好,用AlteraDevice卻不正常t一定是AlteraDevice問題.......…???時(shí)序仿真輸出18改用同步設(shè)計(jì)

Synchornousm7442CircuitDesign改用同步設(shè)計(jì)

Synchornousm7442Circu19避免使鎖存器(LATCH)避免使鎖存器(LATCH)20使用寄存器(Register)使用寄存器(Register)21Peter關(guān)于成功設(shè)計(jì)的十大原則(English)原文原文參考中譯Peter關(guān)于成功設(shè)計(jì)的十大原則(English)原文原文參22Peter關(guān)于成功設(shè)計(jì)的十大原則所有狀態(tài)機(jī)輸出應(yīng)該有寄存器(registered)使用寄存器(register),不使用鎖存器(latch)狀態(tài)輸入、包括復(fù)位信號(hào)應(yīng)該使用同步設(shè)計(jì)路徑時(shí)間越短,問題越少時(shí)鐘偏斜(skew)應(yīng)該盡量小對(duì)于不同時(shí)鐘域的信號(hào)傳遞應(yīng)該引起極大注意,應(yīng)該同步這些信號(hào)。狀態(tài)機(jī)中應(yīng)無“死”狀態(tài)產(chǎn)生不應(yīng)該存在未知的異步邏輯反饋電路所有解碼邏輯應(yīng)該精心設(shè)計(jì),避免異步邏輯產(chǎn)生不應(yīng)該依賴于仿真器,有時(shí)仿真正確,但設(shè)計(jì)卻很糟。Peter關(guān)于成功設(shè)計(jì)的十大原則所有狀態(tài)機(jī)輸出應(yīng)該有寄存器(23常用設(shè)計(jì)思想和技巧

常用的4中設(shè)計(jì)技巧乒乓操作串并轉(zhuǎn)換流水線操作數(shù)據(jù)接口同步常用設(shè)計(jì)思想和技巧

常用的4中設(shè)計(jì)技巧24乒乓操作輸入數(shù)據(jù)選擇單元MUX2-1數(shù)據(jù)緩沖模塊1數(shù)據(jù)緩沖模塊2輸出數(shù)據(jù)選擇單元MUX2-1…6,5,4,3,2,1…6,4,2…5,3,1有何好處?…6,5,4,3,2,1乒乓操作輸入數(shù)據(jù)緩沖數(shù)據(jù)緩沖輸出…6,5,4,3,2,1…625乒乓操作:

低速模塊處理高速數(shù)據(jù)?輸入數(shù)據(jù)選擇單元MUX2-1數(shù)據(jù)緩沖模塊1數(shù)據(jù)緩沖模塊2輸出數(shù)據(jù)選擇單元MUX2-1100Mhz100Mhz數(shù)據(jù)處理模塊1數(shù)據(jù)處理模塊2XXMhz?乒乓操作:

低速模塊處理高速數(shù)據(jù)?輸入數(shù)據(jù)緩沖數(shù)據(jù)緩沖輸26串并轉(zhuǎn)換串行->并行提高了速度面積換取速度通過邏輯復(fù)制提高數(shù)據(jù)吞吐率并行->串行減小了面積占用速度換取面積問題:如何實(shí)現(xiàn)?串并轉(zhuǎn)換串行->并行27串->并轉(zhuǎn)換串->并轉(zhuǎn)換28流水線(Pipelining)操作:概念將處理過程分成串連的n個(gè)步驟,并將單向串連起來,每個(gè)步驟之間用D觸發(fā)器分割。Step1Step2Stepn…流水線(Pipelining)操作:概念將處理過程分成串連的29問題:下圖的流水線為何可以提高速度?問題:下圖的流水線為何可以提高速度?30流水線(Pipelining)操作:過程圖示step2step1step3step4step2step1step3step4step2step1step3step4step2step1step3step4step2step1step3step4Time流水線(Pipelining)操作:過程圖示step2ste31流水線操作:應(yīng)用高速電路設(shè)計(jì)的常用方法適合場(chǎng)合:?jiǎn)蜗驍?shù)據(jù)流應(yīng)用實(shí)例:N位加法器,N位乘法器等流水線技術(shù)具有廣法的應(yīng)用:CPU,DSP,AD/DA流水線操作:應(yīng)用高速電路設(shè)計(jì)的常用方法32數(shù)據(jù)接口同步:概念含義:異步時(shí)鐘域的數(shù)據(jù)同步問題:如何達(dá)到2個(gè)不同時(shí)鐘域的數(shù)據(jù)同步?異域時(shí)鐘的2種情況時(shí)鐘頻率相同,但相差不固定,或者相差固定但不可測(cè)時(shí)鐘頻率不相同問題:相差固定,頻率相同的時(shí)鐘是異域時(shí)鐘嗎?數(shù)據(jù)接口同步:概念含義:異步時(shí)鐘域的數(shù)據(jù)同步33數(shù)據(jù)接口同步:同步方法不推薦的方法:使用buffer等組合邏輯延時(shí)來調(diào)整時(shí)間使用時(shí)鐘的正負(fù)沿調(diào)整數(shù)據(jù)采樣數(shù)據(jù)接口同步:同步方法不推薦的方法:34數(shù)據(jù)接口同步:同步方法推薦方法同頻異相問題使用后級(jí)時(shí)鐘對(duì)前級(jí)數(shù)據(jù)采樣2次使用FIFO,DPRAM作為緩沖,用前級(jí)時(shí)鐘控制數(shù)據(jù)寫入,用后級(jí)時(shí)鐘控制數(shù)據(jù)讀出異頻問題使用FIFO,DPRAM作為緩沖,用前級(jí)時(shí)鐘控制數(shù)據(jù)寫入,用后級(jí)時(shí)鐘控制數(shù)據(jù)讀出問題:數(shù)據(jù)吞吐率不同的影響?問題:緩沖池的大?。繑?shù)據(jù)接口同步:同步方法推薦方法35Altera公司推薦的編碼風(fēng)格組合邏輯的注意事項(xiàng)時(shí)鐘設(shè)計(jì)的注意事項(xiàng)狀態(tài)機(jī)設(shè)計(jì)的一般原則全局異步復(fù)位資源三態(tài)信號(hào)的設(shè)計(jì)Altera公司推薦的編碼風(fēng)格組合邏輯的注意事項(xiàng)36組合邏輯的注意事項(xiàng)(一)避免組合邏輯環(huán)(CombinationalLoops)DQCLKCLRN組合邏輯如何修改?加入寄存器注意此類錯(cuò)誤的warning信息組合邏輯的注意事項(xiàng)(一)避免組合邏輯環(huán)(Combinatio37替換異步脈沖產(chǎn)生單元

(PulseGenerator)如何產(chǎn)生脈沖信號(hào)?異步電路常用DelayChains差生問題:脈沖寬度無法確定這是同步電路的脈沖產(chǎn)生方法:替換異步脈沖產(chǎn)生單元

(PulseGenerator)如何38同步脈沖產(chǎn)生方法DQCLKDQCLK同步脈沖產(chǎn)生方法DQDQ39時(shí)鐘設(shè)計(jì)的注意事項(xiàng)

有全局時(shí)鐘引腳如時(shí)鐘信號(hào)使用PLL(ALTERA)或者DLL(XILINX)進(jìn)行分頻/倍頻、移相輸出,控制內(nèi)部的全局時(shí)鐘網(wǎng)絡(luò)使用圖示:?jiǎn)栴}:在原理圖和VHDL2種設(shè)計(jì)中如何遵循以上原則?時(shí)鐘設(shè)計(jì)的注意事項(xiàng)

有全局時(shí)鐘引腳如時(shí)鐘信號(hào)40Cyclone的PLL結(jié)構(gòu)Cyclone的PLL結(jié)構(gòu)41QuartusII的altpllmegafunction.QuartusII的altpllmegafunctio42狀態(tài)機(jī)設(shè)計(jì)的一般原則CPLD使用Gray狀態(tài)碼,F(xiàn)PGA使用one-hot編碼使用2進(jìn)程狀態(tài)機(jī)必須有初態(tài)處理多狀態(tài)相同操作的邏輯復(fù)用狀態(tài)機(jī)設(shè)計(jì)的一般原則CPLD使用Gray狀態(tài)碼,F(xiàn)PGA使用43全局異步復(fù)位資源使用專用的全局復(fù)位引腳對(duì)芯片進(jìn)行復(fù)位操作全局異步復(fù)位資源使用專用的全局復(fù)位引腳對(duì)芯片進(jìn)行復(fù)位操作44三態(tài)信號(hào)的設(shè)計(jì)

只能在頂層模塊使用:三態(tài)設(shè)計(jì)雙向端口三態(tài)信號(hào)的設(shè)計(jì)

只能在頂層模塊使用:45面積優(yōu)化

為何要進(jìn)行面積優(yōu)化?采用規(guī)模更小的芯片,降低成本占用資源越少,電路性能越好保留資源用于系統(tǒng)升級(jí)設(shè)計(jì)降低功耗常用的3種面積優(yōu)化方法資源共享邏輯優(yōu)化串行化面積優(yōu)化

為何要進(jìn)行面積優(yōu)化?46資源共享:乘法器共享舉例X代碼詳見代碼詳見資源共享:乘法器共享舉例X代碼詳見代碼詳見47……..ENTITYmultmuxIS PORT( A0, B0, B:IN STD_LOGIC_VECTOR(3DOWNTO0); sel :IN STD_LOGIC; result :OUTSTD_LOGIC_VECTOR(7DOWNTO0) );ENDENTITYmultmux;ARCHITECTUREbhvOFmultmuxISBEGIN PROCESS(A0,A1,B,sel) BEGIN IFsel='0'THEN

result<=A0*B;

ELSE result<=A1*B;

ENDIF; ENDPROCESS;ENDARCHITECTUREbhv;優(yōu)化前:代碼詳見P311_ex10_1_multmux……..優(yōu)化前:代碼詳見48面積優(yōu)化

資源共享代碼面積優(yōu)化

資源共享代碼49FlowSummary1(16位寬度)FlowStatus ;Successful-ThuApr2711:07:032006;QuartusIIVersion ;5.0Build14804/26/2005SJWebEdition;RevisionName ;p312_ex10_1Top-levelEntityName ;multmuxFamily ;CycloneDevice ;EP1C3T144C6TimingModels ;FinalMettimingrequirements ;YesTotallogicelements ;528/2,910(18%)

Totalpins ;81/104(77%)Totalvirtualpins ;0Totalmemorybits ;0/59,904(0%)TotalPLLs ;0/1(0%)比較:FlowSummary2FlowSummary1(16位寬度)FlowS50………ENTITYmultmuxIS PORT( A0, B0, B:IN STD_LOGIC_VECTOR(3DOWNTO0); sel :IN STD_LOGIC; result :OUTSTD_LOGIC_VECTOR(7DOWNTO0) );ENDENTITYmultmux;ARCHITECTUREbhvOFmultmuxISSIGNALtemp :STD_LOGIC_VECTOR(7DOWNTO0);BEGIN PROCESS(A0,A1,B,sel) BEGIN

IFsel='0'THEN temp <= A0; ELSE temp <= A1; ENDIF; result<=temp*B;

ENDPROCESS;ENDARCHITECTUREbhv;優(yōu)化后:

少用一個(gè)乘法器詳見P311_ex10_2_multmux優(yōu)化后:

少用一個(gè)乘法器詳見51共享一個(gè)乘法器共享一個(gè)乘法器52FlowSummary2(16位寬度)FlowStatus ;Successful-ThuApr2711:07:032006;QuartusIIVersion ;5.0Build14804/26/2005SJWebEdition;RevisionName ;p312_ex10_2Top-levelEntityName ;multmuxFamily ;CycloneDevice ;EP1C3T144C6比較TimingModels ;FinalMettimingrequirements ;YesTotallogicelements ;528/2,910(18%)

Totalpins ;81/104(77%)Totalvirtualpins ;0Totalmemorybits ;0/59,904(0%)TotalPLLs ;0/1(0%)比較:FlowSummary1FlowSummary2(16位寬度)FlowSt53資源共享之反例Why?資源共享之反例Why?54資源共享的適用范圍需要共享的模塊特征占用資源較多被多處使用設(shè)計(jì)邏輯中可以分時(shí)使用該模塊資源共享的適用范圍需要共享的模塊特征55邏輯優(yōu)化:目的,途徑修改

VHDL代碼結(jié)構(gòu)來達(dá)到邏輯優(yōu)化的目的良好的VHDL代碼可以

大大降低占用資源邏輯優(yōu)化:目的,途徑修改56ENTITYmult1IS PORT( clk :IN STD_LOGIC; ma :IN STD_LOGIC_VECTOR(11DOWNTO0); mc :OUT STD_LOGIC_VECTOR(23DOWNTO0) );ENDENTITYmult1;ARCHITECTURErt1OFmult1IS SIGNALta,tb :STD_LOGIC_VECTOR(11 DOWNTO0);BEGIN PROCESS(clk) BEGIN

IF(clk'EVENTANDclk='1')THEN ta <= ma; tb <= "100110111001"; mc <= ta*tb; ENDIF; ENDPROCESS;ENDARCHITECTURErt1;邏輯優(yōu)化:

代碼1(乘法器)詳見P313_ex10_3_mult1邏輯優(yōu)化:

代碼1(乘法器)詳見57邏輯優(yōu)化:

代碼2(乘法器)之

資源占用邏輯優(yōu)化:

代碼2(乘法器)之

資源占用58ENTITYmult1IS PORT( clk :IN STD_LOGIC; ma :IN STD_LOGIC_VECTOR(11DOWNTO0); mc :OUT STD_LOGIC_VECTOR(23DOWNTO0) );ENDENTITYmult2;ARCHITECTURErt1OFmult1ISSIGNALta :STD_LOGIC_VECTOR(11 DOWNTO0);CONSTANTtb :STD_LOGIC_VECTOR(11 DOWNTO0) :="100110111001";BEGIN PROCESS(clk) BEGIN

IF(clk'EVENTANDclk='1')THEN ta <= ma; mc <= ta*tb; ENDIF; ENDPROCESS;ENDARCHITECTURErt1;邏輯優(yōu)化:

代碼2(乘法器)詳見P314_ex10_4_mult2邏輯優(yōu)化:

代碼2(乘法器)詳見59邏輯優(yōu)化:

代碼2(乘法器)之資源占用邏輯優(yōu)化:

代碼2(乘法器)之資源占用60串行化串行化就是我們前面所介紹的串并轉(zhuǎn)換中的

并->串轉(zhuǎn)換時(shí)間上復(fù)用某個(gè)占用很多資源的模塊例如:16位并行乘加器&16位串行乘加器串行化串行化61ENTITYmult1IS PORT( clk :IN STD_LOGIC; a0,a1,a2,a3 :IN STD_LOGIC_VECTOR(7DOWNTO0); b0,b1,b2,b3 :IN STD_LOGIC_VECTOR(7DOWNTO0); yout :OUT STD_LOGIC_VECTOR(15DOWNTO0) );ENDENTITYmult1;ARCHITECTURErt1OFmult1ISBEGIN PROCESS(clk) BEGIN

IF(clk'EVENTANDclk='1')THEN youy<=((a0*b0)+(a1*b1))+((a3*b3)+(a4*b4)); ENDIF; ENDPROCESS;ENDARCHITECTURErt1;并行乘加器:代碼ENTITYmult1IS并行乘加器:代碼62并行乘加器:圖并行乘加器:圖63------------------------------------------------------------------+FlowSummary;-----------------------+------------------------------------------+FlowStatus ;Successful-SatApr2917:21:212006QuartusIIVersion;4.1Build18106/29/2004SJFullVersion;RevisionName ;pmultaddTop-levelEntityName ;pmultaddFamily ;FLEX10KTotallogicelements ;712/1,152(61%)

Totalpins ;82/102(80%)Totalmemorybits ;0/6,144(0%)Device ;EPF10K10TC144-3TimingModels ;Production并行乘加器資源占用------------------------------64ENTITYsmultaddIS PORT(clk :IN STD_LOGIC; a0,a1,a2,a3 :IN STD_LOGIC_VECTOR(7DOWNTO0); b0,b1,b2,b3 :IN STD_LOGIC_VECTOR(7DOWNTO0); yout :OUT STD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYsmultadd;ARCHITECTUREs_archOFsmultaddISSIGNALcnt :STD_LOGIC_VECTOR(2 DOWNTO0);SIGNALtmpa,tmpb :STD_LOGIC_VECTOR(7 DOWNTO0);SIGNALtmp,ytmp :STD_LOGIC_VECTOR(15 DOWNTO0); BEGIN tempa <= a0WHENcnt=0ELSE a1WHENcnt=1ELSE a2WHENcnt=2ELSE a3WHENcnt=3ELSE a0; tempb <= b0WHENcnt=0ELSE b1WHENcnt=1ELSE b2WHENcnt=2ELSE b3WHENcnt=3ELSE b0; tmp <= tmpa*tmpb; PROCESS(clk) BEGIN IF(clk'EVENTANDclk='1')THEN IFstart='1'THEN cnt <= "000"; ytmp <= (others=>'0'); ELSIF(cnt<4)THEN cnt <=cnt+1; ytmp<=ytmp+tmp; ELSIF(cnt=4)THEN yout <= ytmp; ENDIF; ENDIF; ENDPROCESS;END ARCHITECTURE s_arch;串行乘加器:代碼串行乘加器:代碼65EDA技術(shù)與應(yīng)用講義第9章第1節(jié)設(shè)計(jì)方法課件66EDA技術(shù)與應(yīng)用講義第9章第1節(jié)設(shè)計(jì)方法課件67乘法器乘法器68------------------------------------------------------------------+FlowSummary;-----------------------+------------------------------------------+FlowStatus ;Successful-SatApr2917:21:212006QuartusIIVersion;4.1Build18106/29/2004SJFullVersion;RevisionName ;smultaddTop-levelEntityName ;smultaddFamily ;FLEX10KTotallogicelements ;264/576(45%)

Totalpins ;82/102(80%)Totalmemorybits ;0/6,144(0%)Device ;EPF10K10TC144-3TimingModels ;Production串行乘加器:資源占用------------------------------69速度優(yōu)化流水線設(shè)計(jì)寄存器配平關(guān)鍵路徑法速度優(yōu)化流水線設(shè)計(jì)70流水線設(shè)計(jì):原因Tclk≥Tdelay+Tco+Tsetup流水線設(shè)計(jì):原因Tclk≥Tdelay+Tco+Tse71流水線設(shè)計(jì):

方法Tclk≥

Tdelay/2+Tco+Tsetup流水線設(shè)計(jì):

方法Tclk≥Tdelay/2+Tco+72流水線設(shè)計(jì):效果提高了電路的數(shù)據(jù)處理速度增加了資源占用流水線的級(jí)別越多,速度越快?。。≌?qǐng)看:例子1,例子2(教材)流水線設(shè)計(jì):效果提高了電路的數(shù)據(jù)處理速度7324位加法器實(shí)現(xiàn)24位加法器實(shí)現(xiàn)74加法器:

不使用Pipelining加法器:

不使用Pipelining75ARCHITECTUREnormal_archOFadder4IS

SIGNALt0,t1,t2,t3 :STD_LOGIC_VECTOR(7 DOWNTO0); SIGNALaddtmp0,addtmp1 :STD_LOGIC_VECTOR(8 DOWNTO0); BEGIN PROCESS(clk) BEGIN IF(clk'EVENTANDclk='1')THEN t0<= a0; t1<= a1; t2<= a2; t3<= a3; ENDIF; ENDPROCESS; addtemp0<='0'&t0+t1; addtemp1<='0'&t2+t3; PROCESS(clk) BEGIN IF(clk'EVENTANDclk='1')THEN yout <= '0'&addtmp0+addtmp1; ENDIF; ENDPROCESS;END ARCHITECTURE normal_arch;加法器:

不使用Pipelining代碼ARCHITECTUREnormal_archOFad76加法器:

使用Pipelining加法器:

使用Pipelining77ARCHITECTUREpipelining_archOFpipeaddIS

SIGNALt0,t1,t2,t3 :STD_LOGIC_VECTOR(7 DOWNTO0); SIGNALaddtmp0,addtmp1 :STD_LOGIC_VECTOR(8 DOWNTO0); BEGIN PROCESS(clk) BEGIN IF(clk'EVENTANDclk='1')THEN t0<= a0; t1<= a1; t2<= a2; t3<= a3; ENDIF; ENDPROCESS; PROCESS(clk) BEGIN IF(clk'EVENTANDclk='1')THEN addtmp0<='0'&t0+t1; addtmp1<='0'&t2+t3;

yout <= '0'&addtmp0+addtmp1; ENDIF; ENDPROCESS;END ARCHITECTURE pipelining;加法器:

使用Pipelining代碼ARCHITECTUREpipelining_archO78寄存器配平(RegisterBlalancing)不合理的結(jié)構(gòu)寄存器配平(RegisterBlalancing)不合理的79寄存器配平(RegisterBlalancing)合理的結(jié)構(gòu)寄存器配平(RegisterBlalancing)合理的結(jié)80關(guān)鍵路徑法關(guān)鍵路徑法81問題:在quartusII軟件中可以進(jìn)行那些優(yōu)化設(shè)計(jì)的配置?如何使用流水線技術(shù)設(shè)計(jì)高速的24位加法器電路?問題:在quartusII軟件中可以進(jìn)行那些優(yōu)化設(shè)計(jì)的配82

Theend.

83

以下內(nèi)容

正文的引用,

可不閱讀。 以下內(nèi)容

正文的引用,

可不閱讀。84建立時(shí)間和保持時(shí)間返回建立時(shí)間和保持時(shí)間返回85報(bào)告類型

文件擴(kuò)展名Analysis&Synthesis.map.rptAssembler.asm.rptCompilation(Thisreportfileisasinglefilethatcombinestheinformationoftheindividualmodulecompilationreportfiles.).cmp.rptDesignAssistant.drc.rptEDANetlistWriter.eda.rptFitter.fit.rptFlow.flow.rptSimulator.sim.rptTimingAnalyzer.tan.rptQuartusII中的編譯報(bào)告文件報(bào)告類型文件擴(kuò)展名Analysis&Synthesis86

第9章第1節(jié)

設(shè)計(jì)方法

<EDA技術(shù)與應(yīng)用>課程講義下一章合肥工業(yè)大學(xué)彭良清上一章

第9章第1節(jié)

設(shè)計(jì)方法

<EDA技術(shù)與應(yīng)用>課程講義下87本節(jié)內(nèi)容可編程邏輯設(shè)計(jì)的基本原則可編程邏輯設(shè)計(jì)常用設(shè)計(jì)思想和技巧Altera公司推薦的編碼風(fēng)格面積優(yōu)化速度優(yōu)化本節(jié)內(nèi)容可編程邏輯設(shè)計(jì)的基本原則88可編程邏輯設(shè)計(jì)的基本原則面積和速度的平衡與互換原則硬件原則系統(tǒng)原則同步設(shè)計(jì)原則避免使鎖存器(LATCH)Peter關(guān)于成功設(shè)計(jì)的十大原則可編程邏輯設(shè)計(jì)的基本原則面積和速度的平衡與互換原則89面積和速度:含義面積:含義:設(shè)計(jì)所消耗的FPGA/CPLD的邏輯資源數(shù)量衡量指標(biāo):觸發(fā)器數(shù)(FF),查找表數(shù)(LUT),宏單元數(shù)(MC),邏輯門數(shù)(GATE),邏輯單元數(shù)(LE)速度含義:設(shè)計(jì)在芯片上穩(wěn)定運(yùn)行所達(dá)到的最高頻率影響最高頻率的因子:PADtoPADTimeClockSetupTimeClockHoldTimeClocktoOutputDelay面積和速度:含義面積:90建立時(shí)間(Tsetuptime)&

保持時(shí)間(Tholdtime)返回建立時(shí)間(Tsetuptime)&

保持時(shí)間(Tho91時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+TLOGIC+TNET+TSETUP-TCLK_SKEW時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+T92時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+TLOGIC+TNET+TSETUP-TCLK_SKEWTCLK: 最小時(shí)鐘周期TCKO: 時(shí)鐘輸出時(shí)間TLOGIC: 同步元件之間的組合邏輯時(shí)間TNET: 網(wǎng)線延時(shí)TSETUP: 同步元件的建立時(shí)間TCLK_SKEW: 時(shí)鐘信號(hào)延時(shí)的差別TCLK_SKEW=TCD2-TCD1時(shí)鐘的最小周期定義(Xilinx模型)TCLK=TCKO+T93時(shí)鐘的最小周期定義(Altera模型)時(shí)鐘的最小周期定義(Altera模型)94面積和速度:含義一個(gè)設(shè)計(jì)的速度和面積往往是一個(gè)范圍,是可變的如何改變?cè)O(shè)計(jì)的速度和面積:修改代碼,采用不同的代碼結(jié)構(gòu)在EDA軟件中對(duì)設(shè)計(jì)的目標(biāo)碼進(jìn)行編譯控制選擇不同的器件設(shè)計(jì)的目標(biāo)不是:占用最小的面積達(dá)到最快的速度設(shè)計(jì)的目標(biāo)而是:在滿足項(xiàng)目功能和性能指標(biāo)要求的情況下達(dá)到面積和速度均衡面積和速度:含義一個(gè)設(shè)計(jì)的速度和面積往往是一個(gè)范圍,是可變的95硬件原則差異: 不能用編寫軟件語言(C,C++,JAVA)的邏輯來編寫VHDL代碼過程: 必須對(duì)實(shí)現(xiàn)的硬件電路“成竹在胸”,然后再用HDL代碼實(shí)現(xiàn)之串行和并行: 必須深刻理解之基本語句電路: 對(duì)基本IF,SWITCH,CASE,FOR等語句生成的電路應(yīng)完全掌握硬件原則差異:96系統(tǒng)原則

與其他部分的任務(wù)劃分: 在一塊具有DSPCPUFPGA/CPLD的系統(tǒng)中如何劃分”勢(shì)力范圍”?內(nèi)部資源的任務(wù)劃分不同RAM資源的使用(M512RAM/M4KRAM/MRAM)軟核的使用SERDES的使用其他資源系統(tǒng)原則

與其他部分的任務(wù)劃分:97同步原則一般電路,盡量使用同步設(shè)計(jì)對(duì)于高速電路, 必須使用同步電路結(jié)構(gòu) 進(jìn)行設(shè)計(jì)Why? 請(qǐng)看:同步與異步的比較:同步原則一般電路,盡量使用同步設(shè)計(jì)98異步電路核心邏輯用組合邏輯實(shí)現(xiàn)電路的主要信號(hào)、輸出信號(hào)不依賴于時(shí)鐘容易產(chǎn)生毛刺不利于器件移植不容易進(jìn)行時(shí)序分析異步電路核心邏輯用組合邏輯實(shí)現(xiàn)99同步電路核心邏輯用觸發(fā)器實(shí)現(xiàn)電路的主要信號(hào)、輸出信號(hào)依賴于時(shí)鐘邊沿可完全避免產(chǎn)生毛刺利于器件移植容易進(jìn)行時(shí)序分析同步電路核心邏輯用觸發(fā)器實(shí)現(xiàn)100異步設(shè)計(jì)的例子BinaryCounter:LLLLLLLHLLHLLLHH..........HHHHBCDtoDEC:LLLL->HHHHHHHHHLLLLH->HHHHHHHHLHLLHL->HHHHHHHLHHLLHH->HHHHHHLHHH..........->............................HLLH->LHHHHHHHHH異步設(shè)計(jì)的例子BinaryCounter:LLLLBC101預(yù)期的輸出波形這是一個(gè)理想的

輸出波形但是實(shí)際的波形是什么?預(yù)期的輸出波形這是一個(gè)理想的102功能仿真輸出What

is

this?功能仿真輸出Whatisthis?103時(shí)序仿真輸出這里出錯(cuò)!!!原因?電路設(shè)計(jì)問文題還是CPLD器件問題?但.....該電路使用74xxTTL邏輯電路可工作很好,用AlteraDevice卻不正常t一定是AlteraDevice問題.......…???時(shí)序仿真輸出104改用同步設(shè)計(jì)

Synchornousm7442CircuitDesign改用同步設(shè)計(jì)

Synchornousm7442Circu105避免使鎖存器(LATCH)避免使鎖存器(LATCH)106使用寄存器(Register)使用寄存器(Register)107Peter關(guān)于成功設(shè)計(jì)的十大原則(English)原文原文參考中譯Peter關(guān)于成功設(shè)計(jì)的十大原則(English)原文原文參108Peter關(guān)于成功設(shè)計(jì)的十大原則所有狀態(tài)機(jī)輸出應(yīng)該有寄存器(registered)使用寄存器(register),不使用鎖存器(latch)狀態(tài)輸入、包括復(fù)位信號(hào)應(yīng)該使用同步設(shè)計(jì)路徑時(shí)間越短,問題越少時(shí)鐘偏斜(skew)應(yīng)該盡量小對(duì)于不同時(shí)鐘域的信號(hào)傳遞應(yīng)該引起極大注意,應(yīng)該同步這些信號(hào)。狀態(tài)機(jī)中應(yīng)無“死”狀態(tài)產(chǎn)生不應(yīng)該存在未知的異步邏輯反饋電路所有解碼邏輯應(yīng)該精心設(shè)計(jì),避免異步邏輯產(chǎn)生不應(yīng)該依賴于仿真器,有時(shí)仿真正確,但設(shè)計(jì)卻很糟。Peter關(guān)于成功設(shè)計(jì)的十大原則所有狀態(tài)機(jī)輸出應(yīng)該有寄存器(109常用設(shè)計(jì)思想和技巧

常用的4中設(shè)計(jì)技巧乒乓操作串并轉(zhuǎn)換流水線操作數(shù)據(jù)接口同步常用設(shè)計(jì)思想和技巧

常用的4中設(shè)計(jì)技巧110乒乓操作輸入數(shù)據(jù)選擇單元MUX2-1數(shù)據(jù)緩沖模塊1數(shù)據(jù)緩沖模塊2輸出數(shù)據(jù)選擇單元MUX2-1…6,5,4,3,2,1…6,4,2…5,3,1有何好處?…6,5,4,3,2,1乒乓操作輸入數(shù)據(jù)緩沖數(shù)據(jù)緩沖輸出…6,5,4,3,2,1…6111乒乓操作:

低速模塊處理高速數(shù)據(jù)?輸入數(shù)據(jù)選擇單元MUX2-1數(shù)據(jù)緩沖模塊1數(shù)據(jù)緩沖模塊2輸出數(shù)據(jù)選擇單元MUX2-1100Mhz100Mhz數(shù)據(jù)處理模塊1數(shù)據(jù)處理模塊2XXMhz?乒乓操作:

低速模塊處理高速數(shù)據(jù)?輸入數(shù)據(jù)緩沖數(shù)據(jù)緩沖輸112串并轉(zhuǎn)換串行->并行提高了速度面積換取速度通過邏輯復(fù)制提高數(shù)據(jù)吞吐率并行->串行減小了面積占用速度換取面積問題:如何實(shí)現(xiàn)?串并轉(zhuǎn)換串行->并行113串->并轉(zhuǎn)換串->并轉(zhuǎn)換114流水線(Pipelining)操作:概念將處理過程分成串連的n個(gè)步驟,并將單向串連起來,每個(gè)步驟之間用D觸發(fā)器分割。Step1Step2Stepn…流水線(Pipelining)操作:概念將處理過程分成串連的115問題:下圖的流水線為何可以提高速度?問題:下圖的流水線為何可以提高速度?116流水線(Pipelining)操作:過程圖示step2step1step3step4step2step1step3step4step2step1step3step4step2step1step3step4step2step1step3step4Time流水線(Pipelining)操作:過程圖示step2ste117流水線操作:應(yīng)用高速電路設(shè)計(jì)的常用方法適合場(chǎng)合:?jiǎn)蜗驍?shù)據(jù)流應(yīng)用實(shí)例:N位加法器,N位乘法器等流水線技術(shù)具有廣法的應(yīng)用:CPU,DSP,AD/DA流水線操作:應(yīng)用高速電路設(shè)計(jì)的常用方法118數(shù)據(jù)接口同步:概念含義:異步時(shí)鐘域的數(shù)據(jù)同步問題:如何達(dá)到2個(gè)不同時(shí)鐘域的數(shù)據(jù)同步?異域時(shí)鐘的2種情況時(shí)鐘頻率相同,但相差不固定,或者相差固定但不可測(cè)時(shí)鐘頻率不相同問題:相差固定,頻率相同的時(shí)鐘是異域時(shí)鐘嗎?數(shù)據(jù)接口同步:概念含義:異步時(shí)鐘域的數(shù)據(jù)同步119數(shù)據(jù)接口同步:同步方法不推薦的方法:使用buffer等組合邏輯延時(shí)來調(diào)整時(shí)間使用時(shí)鐘的正負(fù)沿調(diào)整數(shù)據(jù)采樣數(shù)據(jù)接口同步:同步方法不推薦的方法:120數(shù)據(jù)接口同步:同步方法推薦方法同頻異相問題使用后級(jí)時(shí)鐘對(duì)前級(jí)數(shù)據(jù)采樣2次使用FIFO,DPRAM作為緩沖,用前級(jí)時(shí)鐘控制數(shù)據(jù)寫入,用后級(jí)時(shí)鐘控制數(shù)據(jù)讀出異頻問題使用FIFO,DPRAM作為緩沖,用前級(jí)時(shí)鐘控制數(shù)據(jù)寫入,用后級(jí)時(shí)鐘控制數(shù)據(jù)讀出問題:數(shù)據(jù)吞吐率不同的影響?問題:緩沖池的大???數(shù)據(jù)接口同步:同步方法推薦方法121Altera公司推薦的編碼風(fēng)格組合邏輯的注意事項(xiàng)時(shí)鐘設(shè)計(jì)的注意事項(xiàng)狀態(tài)機(jī)設(shè)計(jì)的一般原則全局異步復(fù)位資源三態(tài)信號(hào)的設(shè)計(jì)Altera公司推薦的編碼風(fēng)格組合邏輯的注意事項(xiàng)122組合邏輯的注意事項(xiàng)(一)避免組合邏輯環(huán)(CombinationalLoops)DQCLKCLRN組合邏輯如何修改?加入寄存器注意此類錯(cuò)誤的warning信息組合邏輯的注意事項(xiàng)(一)避免組合邏輯環(huán)(Combinatio123替換異步脈沖產(chǎn)生單元

(PulseGenerator)如何產(chǎn)生脈沖信號(hào)?異步電路常用DelayChains差生問題:脈沖寬度無法確定這是同步電路的脈沖產(chǎn)生方法:替換異步脈沖產(chǎn)生單元

(PulseGenerator)如何124同步脈沖產(chǎn)生方法DQCLKDQCLK同步脈沖產(chǎn)生方法DQDQ125時(shí)鐘設(shè)計(jì)的注意事項(xiàng)

有全局時(shí)鐘引腳如時(shí)鐘信號(hào)使用PLL(ALTERA)或者DLL(XILINX)進(jìn)行分頻/倍頻、移相輸出,控制內(nèi)部的全局時(shí)鐘網(wǎng)絡(luò)使用圖示:?jiǎn)栴}:在原理圖和VHDL2種設(shè)計(jì)中如何遵循以上原則?時(shí)鐘設(shè)計(jì)的注意事項(xiàng)

有全局時(shí)鐘引腳如時(shí)鐘信號(hào)126Cyclone的PLL結(jié)構(gòu)Cyclone的PLL結(jié)構(gòu)127QuartusII的altpllmegafunction.QuartusII的altpllmegafunctio128狀態(tài)機(jī)設(shè)計(jì)的一般原則CPLD使用Gray狀態(tài)碼,F(xiàn)PGA使用one-hot編碼使用2進(jìn)程狀態(tài)機(jī)必須有初態(tài)處理多狀態(tài)相同操作的邏輯復(fù)用狀態(tài)機(jī)設(shè)計(jì)的一般原則CPLD使用Gray狀態(tài)碼,F(xiàn)PGA使用129全局異步復(fù)位資源使用專用的全局復(fù)位引腳對(duì)芯片進(jìn)行復(fù)位操作全局異步復(fù)位資源使用專用的全局復(fù)位引腳對(duì)芯片進(jìn)行復(fù)位操作130三態(tài)信號(hào)的設(shè)計(jì)

只能在頂層模塊使用:三態(tài)設(shè)計(jì)雙向端口三態(tài)信號(hào)的設(shè)計(jì)

只能在頂層模塊使用:131面積優(yōu)化

為何要進(jìn)行面積優(yōu)化?采用規(guī)模更小的芯片,降低成本占用資源越少,電路性能越好保留資源用于系統(tǒng)升級(jí)設(shè)計(jì)降低功耗常用的3種面積優(yōu)化方法資源共享邏輯優(yōu)化串行化面積優(yōu)化

為何要進(jìn)行面積優(yōu)化?132資源共享:乘法器共享舉例X代碼詳見代碼詳見資源共享:乘法器共享舉例X代碼詳見代碼詳見133……..ENTITYmultmuxIS PORT( A0, B0, B:IN STD_LOGIC_VECTOR(3DOWNTO0); sel :IN STD_LOGIC; result :OUTSTD_LOGIC_VECTOR(7DOWNTO0) );ENDENTITYmultmux;ARCHITECTUREbhvOFmultmuxISBEGIN PROCESS(A0,A1,B,sel) BEGIN IFsel='0'THEN

result<=A0*B;

ELSE result<=A1*B;

ENDIF; ENDPROCESS;ENDARCHITECTUREbhv;優(yōu)化前:代碼詳見P311_ex10_1_multmux……..優(yōu)化前:代碼詳見134面積優(yōu)化

資源共享代碼面積優(yōu)化

資源共享代碼135FlowSummary1(16位寬度)FlowStatus ;Successful-ThuApr2711:07:032006;QuartusIIVersion ;5.0Build14804/26/2005SJWebEdition;RevisionName ;p312_ex10_1Top-levelEntityName ;multmuxFamily ;CycloneDevice ;EP1C3T144C6TimingModels ;FinalMettimingrequirements ;YesTotallogicelements ;528/2,910(18%)

Totalpins ;81/104(77%)Totalvirtualpins ;0Totalmemorybits ;0/59,904(0%)TotalPLLs ;0/1(0%)比較:FlowSummary2FlowSummary1(16位寬度)FlowS136………ENTITYmultmuxIS PORT( A0, B0, B:IN STD_LOGIC_VECTOR(3DOWNTO0); sel :IN STD_LOGIC; result :OUTSTD_LOGIC_VECTOR(7DOWNTO0) );ENDENTITYmultmux;ARCHITECTUREbhvOFmultmuxISSIGNALtemp :STD_LOGIC_VECTOR(7DOWNTO0);BEGIN PROCESS(A0,A1,B,sel) BEGIN

IFsel='0'THEN temp <= A0; ELSE temp <= A1; ENDIF; result<=temp*B;

ENDPROCESS;ENDARCHITECTUREbhv;優(yōu)化后:

少用一個(gè)乘法器詳見P311_ex10_2_multmux優(yōu)化后:

少用一個(gè)乘法器詳見137共享一個(gè)乘法器共享一個(gè)乘法器138FlowSummary2(16位寬度)FlowStatus ;Successful-ThuApr2711:07:032006;QuartusIIVersion ;5.0Build14804/26/2005SJWebEdition;RevisionName ;p312_ex10_2Top-levelEntityName ;multmuxFamily ;CycloneDevice ;EP1C3T144C6比較TimingModels ;FinalMettimingrequirements ;YesTotallogicelements ;528/2,910(18%)

Totalpins ;81/104(77%)Totalvirtualpins ;0Totalmemorybits ;0/59,904(0%)TotalPLLs ;0/1(0%)比較:FlowSummary1FlowSummary2(16位寬度)FlowSt139資源共享之反例Why?資源共享之反例Why?140資源共享的適用范圍需要共享的模塊特征占用資源較多被多處使用設(shè)計(jì)邏輯中可以分時(shí)使用該模塊資源共享的適用范圍需要共享的模塊特征141邏輯優(yōu)化:目的,途徑修改

VHDL代碼結(jié)構(gòu)來達(dá)到邏輯優(yōu)化的目的良好的VHDL代碼可以

大大降低占用資源邏輯優(yōu)化:目的,途徑修改142ENTITYmult1IS PORT( clk :IN STD_LOGIC; ma :IN STD_LOGIC_VECTOR(11DOWNTO0); mc :OUT STD_LOGIC_VECTOR(23DOWNTO0) );ENDENTITYmult1;ARCHITECTURErt1OFmult1IS SIGNALta,tb :STD_LOGIC_VECTOR(11 DOWNTO0);BEGIN PROCESS(clk) BEGIN

IF(clk'EVENTANDclk='1')THEN ta <= ma; tb <= "100110111001"; mc <= ta*tb; ENDIF; ENDPROCESS;ENDARCHITECTURErt1;邏輯優(yōu)化:

代碼1(乘法器)詳見P313_ex10_3_mult1邏輯優(yōu)化:

代碼1(乘法器)詳見143邏輯優(yōu)化:

代碼2(乘法器)之

資源占用邏輯優(yōu)化:

代碼2(乘法器)之

資源占用144ENTITYmult1IS PORT( clk :IN STD_LOGIC; ma :IN STD_LOGIC_VECTOR(11DOWNTO0); mc :OUT STD_LOGIC_VECTOR(23DOWNTO0) );ENDENTITYmult2;ARCHITECTURErt1OFmult1ISSIGNALta :STD_LOGIC_VECTOR(11 DOWNTO0);CONSTANTtb :STD_LOGIC_VECTOR(11 DOWNTO0) :="100110111001";BEGIN PROCESS(clk) BEGIN

IF(clk'EVENTANDclk='1')THEN ta <= ma; mc <= ta*tb; ENDIF; ENDPROCESS;ENDARCHITECTURErt1;邏輯優(yōu)化:

代碼2(乘法器)詳見P314_ex10_4_mult2邏輯優(yōu)化:

代碼2(乘法器)詳見145邏輯優(yōu)化:

代碼2(乘法器)之資源占用邏輯優(yōu)化:

代碼2(乘法器)之資源占用146串行化串行化就是我們前面所介紹的串并轉(zhuǎn)換中的

并->串轉(zhuǎn)換時(shí)間上復(fù)用某個(gè)占用很多資源的模塊例如:16位并行乘加器&16位串行乘加器串行化串行化147ENTITYmult1IS PORT( clk :IN STD_LOGIC; a0,a1,a2,a3 :IN STD_LOGIC_VECTOR(7DOWNTO0); b0,b1,b2,b3 :IN STD_LOGIC_VECTOR(7DOWNTO0); yout :OUT STD_LOGIC_VECTOR(15DOWNTO0) );ENDENTITYmult1;ARCHITECTURErt1OFmult1ISBEGIN PROCESS(clk) BEGIN

IF(clk'EVENTANDclk='1')THEN youy<=((a0*b0)+(a1*b1))+((a3*b3)+(a4*b4)); ENDIF; ENDPROCESS;ENDARCHITECTURErt1;并行乘加器:代碼ENTITYmult1IS并行乘加器:代碼148并行乘加器:圖并行乘加器:圖149------------------------------------------------------------------+FlowSummary;-----------------------+------------------------------------------+FlowStatus ;Successful-SatApr2917:21:212006QuartusIIVersion;4.1Build18106/29/2004SJFullVersion;RevisionName ;pmultaddTop-levelEntityName ;pmultaddFamily

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論