《opDown設(shè)計(jì)方法》PPT課件_第1頁
《opDown設(shè)計(jì)方法》PPT課件_第2頁
《opDown設(shè)計(jì)方法》PPT課件_第3頁
《opDown設(shè)計(jì)方法》PPT課件_第4頁
《opDown設(shè)計(jì)方法》PPT課件_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第七講 Top-Down的設(shè)計(jì)方法 7.1 Top-DownVerilog HDL的設(shè)計(jì)方法論歸納起來主要有兩種:自下而上(Bottom-Up)的設(shè)計(jì)方法與自上而下(Top-Down)的設(shè)計(jì)方法。另外,還可以根據(jù)實(shí)際情況,利用這兩種方法的組合進(jìn)行綜合設(shè)計(jì),即綜合設(shè)計(jì)方法。1精選PPTTop-Down設(shè)計(jì),即自頂向下的設(shè)計(jì) : 將設(shè)計(jì)分為幾個(gè)不同的層次:系統(tǒng)級(jí)、功能級(jí)、門級(jí)、開關(guān)級(jí)等,按照自上而下的順序,在不同的層次上,對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)與仿真。 在Top-Down的設(shè)計(jì)中,由系統(tǒng)用戶對(duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,把系統(tǒng)劃分為基本單元,然后再把每個(gè)基本單元?jiǎng)澐譃橄乱粚哟蔚幕締卧钡娇梢灾苯佑?/p>

2、元件庫中的元件來實(shí)現(xiàn)為止。 2精選PPTTop-Down設(shè)計(jì)方式示意圖: 系統(tǒng)級(jí)與功能級(jí)的設(shè)計(jì)功能仿真綜合門級(jí)網(wǎng)表時(shí)序仿真EDA工具的支持 如圖所示,在Top-Down的設(shè)計(jì)過程中,需要有EDA工具的支持,有些步驟EDA工具可以自動(dòng)完成,比如綜合等,有些步驟EDA工具為用戶提供了操作平臺(tái)。3精選PPTTop-Down設(shè)計(jì)方法一般采用HDL語言,具有以下一些優(yōu)點(diǎn): 1): 在設(shè)計(jì)周期中開始就做好了系統(tǒng)分析。2): 由于設(shè)計(jì)的主要仿真和調(diào)試過程是在高層次完 成的,所以能夠在早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),同時(shí)減少了邏輯仿真的工作量。3):自上而下的設(shè)計(jì)方法方便了從系統(tǒng)劃分和管理整個(gè)項(xiàng)

3、目,使得幾十萬門甚至幾百萬門規(guī)模的復(fù)雜數(shù)字電路的設(shè)計(jì)成為可能。并可減少設(shè)計(jì)人員,避免不必要的重復(fù)設(shè)計(jì),提高了設(shè)計(jì)的一次成功率。4精選PPT自上而下的設(shè)計(jì)方法有以下缺點(diǎn):1): 因采用的綜合工具不一樣,得到的最小單元不標(biāo)準(zhǔn)。2): 制造成本高。5精選PPT頻率計(jì)設(shè)計(jì)示例頻率計(jì)是測量信號(hào)頻率常用的儀器,其工作原理是在單位時(shí)間內(nèi)對(duì)信號(hào)進(jìn)行計(jì)數(shù),從而測量出信號(hào)的頻率,現(xiàn)設(shè)計(jì)一個(gè)6位頻率計(jì),其基準(zhǔn)時(shí)鐘為1MHz,要求頻率測量范圍為1Hz到1MHz。 6精選PPT根據(jù)頻率計(jì)的工作原理,其組成部分如下: (1)1KHz時(shí)鐘發(fā)生器(2)閘門電路(3)計(jì)數(shù)器(4)顯示電路(顯示電路又可以分割為計(jì)數(shù)值鎖存器、掃描

4、計(jì)數(shù)器、24選4多路開關(guān)、BCD-七段譯碼器、3-6譯碼器)7精選PPT(1)1KHz時(shí)鐘發(fā)生器 module counter1K( clk1k, mclk); output clk1k; input mclk; reg 8:0 count; reg out; always ( posedge mclk)beginif( count 9o499)beginclk1k=!clk1k;count=4d0;endelsecount=count+1;end endmodule 8精選PPT(2) 閘門電路 module GateGen(load,clr,clk1k); output load,clr;

5、 input clk; reg 9:0 count; always(posedge clk1k)beginif(count=0)begincount=count+1;load=0;clr=1;endelse if(count=1000)begincount=10d0;load =1;clr=0;endelsebegincount=count+1;load=0;clr=0;endendendmodule 9精選PPT(3)計(jì)數(shù)器 Module counter(result,load,clr, signal); output load,clr; output 23:0 result, input

6、signal; reg 23:0 count; reg 23:0 result; /計(jì)數(shù)always(posedge clr or posedge signal)beginif(clr) count=24h000000; else if(count=24d999999) count=24h000000; else if(count19:0=20h99999)begincount19:0=0;count23:20=count23:20+1;end10精選PPTelse if(count15:0=16h9999)begincount15:0=0;count23:16=count23:16+1;en

7、delse if(count11:0=12h999)begincount11:0=0;count23:12=count23:12+1;endelse if(count7:0=8h99)begincount7:0=0;count23:8=count23:8+1;end11精選PPTelse if(count3:0=4h9)begincountt3:0=0;count23:4=count23:4+1;endelse count=count+1;end/輸出計(jì)數(shù)值always(posedge clr or posedge load)beginif(clr)result=24h0000;elseres

8、ult=count;endendmodule 12精選PPT(4)顯示電路module disled(seg7,segsel,bcdin,clk1k);inputclk1ms;input23:0bcdin;output7:0seg7n;output5:0segsel;endmodule13精選PPT(5)頂層文件moduletop(ledseg7,ledsel, signal,mclk)inputsin,mclk;/輸入信號(hào)和1MHz時(shí)鐘輸入output7:0ledseg7;output5:0ledsel;wireclk1k,clr,load;wire23:0result;wire7:0seg

9、7;wire5:0segsel;14精選PPT/1KHz時(shí)鐘分頻器counter1KU1( .clk1k(clk1k), .mclk(mclk);/閘門電路GateGen U2(.load(load),.clr(clr),.clk1k(clk1k);/測量單元Counter U3(.result(result),.load(load),.clr(clr), .signal(signal);/LED顯示Disled U4(.seg7(ledseg7),.segsel(ledsel),.bcdin(result),.clk1k(clk1K);endmodule15精選PPT7.2 存儲(chǔ)器建模若干個(gè)

10、相同寬度的向量構(gòu)成數(shù)組(array),也就是存儲(chǔ)器。 例如:reg7:0 mymem1023:0; 上面的語句定義了一個(gè)1024個(gè)字節(jié),每個(gè)字節(jié)寬度為8位的存儲(chǔ)器。再如: reg3:0 Amem63:0 /Amem為64個(gè)4位寄存器的存儲(chǔ)器 reg Bmen5:1 /Bmem為5個(gè)1位寄存器的存儲(chǔ)器16精選PPT也可以用parameter參數(shù)定義存儲(chǔ)器的尺寸,比如: parameter wordwidth=8,memsize=1024; regwordwidth-1:0 mymemmemsize-1:0上面的語句定義了一個(gè)寬度為8位,1024個(gè)存儲(chǔ)單元的存儲(chǔ)器。該存儲(chǔ)器的名字是mymem,若對(duì)

11、該存儲(chǔ)器中的某一單元賦值的話,可采用如下方式: mymem8=1; /mymem存儲(chǔ)器中的第8個(gè)單元被賦值為1 mymem25=65; /mymem存儲(chǔ)器中的第25個(gè)單元被賦值為65不允許對(duì)存儲(chǔ)器進(jìn)行位選擇和域選擇。不過,可以首先將存儲(chǔ)器的值賦給寄存器,然后對(duì)寄存器進(jìn)行位選擇和域選擇。17精選PPT為存儲(chǔ)器賦值的另一種方法是使用系統(tǒng)任務(wù)(僅限于電路仿真中使用): $readmemb(加載二進(jìn)制值) $readmemh(加載十六進(jìn)制值) 這些系統(tǒng)任務(wù)從指定的文本中讀取數(shù)據(jù)并加載到存儲(chǔ)器。文本文件必須包含相應(yīng)的二進(jìn)制數(shù)或者十六進(jìn)制數(shù)。18精選PPT 存儲(chǔ)器建模必須注意以下兩個(gè)方面的問題: 1)聲明

12、存儲(chǔ)器容量的大小。2)明確對(duì)存儲(chǔ)器訪問操作的權(quán)限。19精選PPT例如:指出可以對(duì)存儲(chǔ)器做以下哪幾種操作: 只讀 讀寫 同步讀寫 多次讀,同時(shí)進(jìn)行一次寫 多次同步讀寫,同時(shí)提供一些方法保證一致性20精選PPT例1:ROM建模 timescale 1ns/10ps module myrom(read_data,addr,read_en_);input read_en_;input 3:0 addr; output 3:0 read_data;reg 3:0 read_data;reg 3:0 mem 0:15;initial $readmemb(“my_rom_data”,mem);always

13、(addr or read_en_) if(!read_en_) read_data=memaddr;endmodule 21精選PPT例2:RAM建模 timescale 1ns/1nsmodule mymem(data,addr,read,write); inout 3:0 data; inout 3:0 addr; input read, write; reg 3:0 memory 0:15; /4 bits, 16 words/從存儲(chǔ)器讀出到總線上 assign data=read? memoryaddr:4bz;/從總線寫入存儲(chǔ)器 always (posedge write) mem

14、oryaddr=data;endmodule22精選PPTRAM模型跟ROM模型相比: 它必須具有讀寫能力; 進(jìn)行讀寫時(shí)通常使用相同的數(shù)據(jù)總線; 需要新技術(shù)來處理雙向總線;當(dāng)讀信號(hào)無效時(shí),RAM模型與總線脫離,如果此時(shí)寫 信號(hào)也無效,總線無驅(qū)動(dòng)源,則總線進(jìn)入高阻狀態(tài), 這就避免了RAM中的讀寫競爭。上例的 RAM 模塊是可綜合的,但綜合出來是一大堆寄存器,占比較大的面積,經(jīng)濟(jì)上不太合算。23精選PPT7.3 雙向口建模 使用inout關(guān)鍵字聲明端口為雙向口。 inout 7:0 databus; 使用雙向口必需遵循下面的規(guī)則:inout口只能聲明為網(wǎng)絡(luò)連接類型, 不允許把它聲明為寄存器類型。(

15、所以仿真器能確定多個(gè)驅(qū)動(dòng)源的最終值。)在設(shè)計(jì)中,每次只能從一個(gè)方向來驅(qū)動(dòng)inout口。24精選PPT 例如:當(dāng)使用總線讀RAM中的數(shù)據(jù)時(shí),如果同時(shí)又向RAM模型的雙向數(shù)據(jù)總線寫數(shù)據(jù),就會(huì)產(chǎn)生邏輯競爭,導(dǎo)致總線數(shù)據(jù)無法確定。所以必須為inout口設(shè)計(jì)控制邏輯,只有這樣才能保證正確的操作。 使用雙向口時(shí)還要注意:聲明一個(gè)inout口,可以用來輸入或輸出數(shù)據(jù)。inout口默認(rèn)為網(wǎng)絡(luò)連接類型。不允許在過程塊(initial 或always塊)中對(duì)網(wǎng)絡(luò)連接類型的數(shù)據(jù)進(jìn)行過程賦值;但可以在過程塊外把一個(gè)寄存器數(shù)據(jù)類型通過連續(xù)賦值語句賦給它(inout口),或者把它與用戶定義的源語(UDP)相連。必須為in

16、out口設(shè)計(jì)控制邏輯,用來保證正確的操作。當(dāng)把inout口作為輸入口時(shí),必須通過控制邏輯禁止輸出到inout口。 25精選PPT例1:使用Verilog中的基本元件(bufif1)為雙向口建模 module bus_xcvr (bus_a,bus_b,en_a_b,en_b_a);inout bus_a,bus_b;input en_a_b,en_b_a; bufifl b1(bus_b,bus_a,en_a_b); bufifl b2(bus_a,bus_b,en_b_a); /結(jié)構(gòu)模塊邏輯endmodule26精選PPT例2:使用連續(xù)賦值為雙向口建模 module bus_xcvr (bu

17、s_a,bus_b,en_a_b,en_b_a);inout bus_a,bus_b;input en_a_b,en_b_a; assign bus_b=en_a_b? bus_a:bz; assign bus_a=en_b_a? bus_b:bz; /結(jié)構(gòu)模塊邏輯endmodule27精選PPT例3: 存儲(chǔ)器的端口建模 module ram_cell(databus,rd.wr); inout databus; input rd,wr; reg datareg; assign databus=rd? datareg:bz; always (negedge wr) datareg=databu

18、s; endmodule該例中存儲(chǔ)單元在wr的下降沿到達(dá)時(shí)存入數(shù)據(jù)。上頁模塊在 wr處于高電平時(shí),通過數(shù)據(jù)總線寫入數(shù)據(jù),但必須保證wr的高電平維持時(shí)間長于數(shù)據(jù)的寫入時(shí)間。在rd處于高電平時(shí),上述存儲(chǔ)單元通過數(shù)據(jù)總線讀出數(shù)據(jù)。由于此模型為單口存儲(chǔ)模型,因此wr變低電平時(shí),rd不能同時(shí)為高電平,否則就無法確定存儲(chǔ)器的讀出/寫入的結(jié)果。28精選PPT7.4 IP 的使用IP核是具有知識(shí)產(chǎn)權(quán)(IntellectualProperty)的集成電路芯核的簡稱,其作用是把一組擁有知識(shí)產(chǎn)權(quán)的電路設(shè)計(jì)集合在一起,構(gòu)成芯片的基本單位,以供設(shè)計(jì)時(shí)搭積木之用。其實(shí)可以把IP理解為一顆ASIC,以前是ASIC做好以后供人家在PCB上使用,現(xiàn)在是IP做好以后讓人家集成在更大的芯片里。 IP核是一段具有特定電路功能的硬件描述語言程序,該程序與集成電路工藝無關(guān),可以移植到不同的半導(dǎo)體工藝中去生產(chǎn)集成電路芯片。利用IP核設(shè)計(jì)電子系統(tǒng),引用方便,修改基本元件的功能容易。具有復(fù)雜功能和商業(yè)價(jià)值的IP核一般具有知識(shí)產(chǎn)權(quán),盡管IP核的市場活動(dòng)還不規(guī)范,但是仍有許多集成電路設(shè)計(jì)公司從

溫馨提示

  • 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. 人人文庫網(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)論