硬件描述語(yǔ)言7_第1頁(yè)
硬件描述語(yǔ)言7_第2頁(yè)
硬件描述語(yǔ)言7_第3頁(yè)
硬件描述語(yǔ)言7_第4頁(yè)
硬件描述語(yǔ)言7_第5頁(yè)
已閱讀5頁(yè),還剩42頁(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)介

主講:信息與通信學(xué)院謝躍雷(副教授)硬件描述語(yǔ)言及其在數(shù)字系統(tǒng)中的應(yīng)用2/3/20231GUETSchoolofInformation&Communications第五講現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)數(shù)字系統(tǒng)的描述方法數(shù)字系統(tǒng)算法設(shè)計(jì)算法流程圖算法結(jié)構(gòu)2/3/20232GUETSchoolofInformation&Communications5.1數(shù)字系統(tǒng)模型為便于分析和設(shè)計(jì)數(shù)字系統(tǒng),有必要選擇適當(dāng)?shù)哪P蛯?duì)系統(tǒng)進(jìn)行描述。數(shù)字系統(tǒng)的動(dòng)態(tài)模型和算法模型是兩種基本的有效模型。1.動(dòng)態(tài)模型指在數(shù)字邏輯設(shè)計(jì)中,采用傳統(tǒng)的狀態(tài)轉(zhuǎn)換圖,狀態(tài)轉(zhuǎn)換表,狀態(tài)方程,輸出方程,時(shí)序圖,真值表,卡諾圖等描述工具的數(shù)字系統(tǒng)稱為動(dòng)態(tài)模型。2/3/20233GUETSchoolofInformation&Communications顯然,在傳統(tǒng)數(shù)字電路中學(xué)習(xí)采用的都是動(dòng)態(tài)模型。

例如:舉重比賽有三位裁判,一位是主裁判A,另兩位是副裁判B和C,運(yùn)動(dòng)員一次舉重是否成功,由裁判員各自按動(dòng)面前的按鈕決定,只有兩人以上,且其中必須有主裁判判定為成功時(shí),表示成功的指示燈L才會(huì)燃亮。

ABC

L00000010010001101000101111011111真值表函數(shù)式:L=A(B+C)&ALBC2/3/20234GUETSchoolofInformation&Communications例:設(shè)計(jì)一個(gè)串行數(shù)據(jù)檢測(cè)電路,當(dāng)連續(xù)輸入3個(gè)或3個(gè)以上“1”時(shí),電路輸出為“1”,其它情況下輸出為“0”。例如:輸入X101100111011110輸出Z000000001000110狀態(tài)表2/3/20235GUETSchoolofInformation&Communications2.算法模型設(shè)計(jì)數(shù)字系統(tǒng)的傳統(tǒng)方法是建立在系統(tǒng)動(dòng)態(tài)模型的基礎(chǔ)上的。對(duì)于較復(fù)雜的數(shù)字系統(tǒng),動(dòng)態(tài)模型難以適用,數(shù)字技術(shù)人員現(xiàn)今普遍采用系統(tǒng)算法模型來(lái)描述和設(shè)計(jì)數(shù)字系統(tǒng)。系統(tǒng)算法模型思想:將系統(tǒng)實(shí)現(xiàn)的功能看作是應(yīng)完成的某種運(yùn)算。若運(yùn)算太復(fù)雜,可把它分解成一系列子運(yùn)算(子功能),若子運(yùn)算還較復(fù)雜,可以繼續(xù)分解,直到分解為一系列簡(jiǎn)單運(yùn)算。2/3/20236GUETSchoolofInformation&Communications然后按一定的規(guī)律,順序地或并行地進(jìn)行這些簡(jiǎn)單的基本運(yùn)算,從而,實(shí)現(xiàn)原來(lái)復(fù)雜系統(tǒng)的功能。算法就是對(duì)這種有規(guī)律、有序分解的一種描述。事實(shí)證明,任何一個(gè)系統(tǒng)都可以用算法模型來(lái)進(jìn)行描述。

系統(tǒng)的算法模型通常具有兩大特征:(1)含有若干子運(yùn)算,這些子運(yùn)算實(shí)現(xiàn)對(duì)欲處理數(shù)據(jù)或信息的傳輸、存儲(chǔ)或加工處理。(2)具有相應(yīng)的控制序列,控制子運(yùn)算按一定的規(guī)律有序地進(jìn)行。

2/3/20237GUETSchoolofInformation&Communications例:設(shè)計(jì)一個(gè)串行數(shù)據(jù)檢測(cè)電路,當(dāng)連續(xù)輸入3個(gè)或3個(gè)以上“1”時(shí),電路輸出為“1”,其它情況下輸出為“0”。例如:輸入X101100111011110輸出Z0000000001000110求其算法模型?解:實(shí)現(xiàn)該系統(tǒng)功能應(yīng)由三個(gè)存貯單元R1、R2和R3,分別存放輸入信號(hào)x(t-1)、x(t)、x(t+1)的數(shù)據(jù),然后再根據(jù)以下檢測(cè)規(guī)則決定輸出Z

(1)當(dāng)x(t-1)=x(t)=x(t+1)=1,輸出Z=1即Z=R1&R2&R3。(2)其它情況Z=0。每經(jīng)過(guò)一次檢測(cè),則將后進(jìn)入的數(shù)據(jù)取代先進(jìn)入的數(shù)據(jù),又送進(jìn)一個(gè)新的數(shù)據(jù),此過(guò)程周而復(fù)始地進(jìn)行。

以上就是串行數(shù)據(jù)檢測(cè)算法,如何描述該算法模型?可借助軟件設(shè)計(jì)中的流程圖描述法2/3/20238GUETSchoolofInformation&Communications圖5.1.3序列檢測(cè)系統(tǒng)算法流程圖開(kāi)始t=0Z=0t=t+1Z=1Z=0R1=R2=R3=1?

NOYESR1X(t)R2R1R3R2以圖形像地給出了需要進(jìn)行的操作以及進(jìn)行這些操作的條件和順序。與軟件設(shè)計(jì)中的流程圖相同,稱為算法流程圖。工作塊:矩形判別塊:菱形條件塊:矩形開(kāi)始結(jié)束2/3/20239GUETSchoolofInformation&Communicationsmoduleser_detector(z,x,clk);inputx,clk;outputz;regr1,r2,r3;always@(posedgeclk)beginr3<=r2;r2<=r1;r1<=x;endassignz=r1&r2&r3;endmodule2/3/202310GUETSchoolofInformation&CommunicationsQuartusii仿真結(jié)果

synplify綜合結(jié)果

算法模型并非都不可綜合2/3/202311GUETSchoolofInformation&Communications5.2算法狀態(tài)機(jī)圖(ASM)

算法流程圖是基于事件驅(qū)動(dòng),僅規(guī)定了操作的順序,并未規(guī)定操作的時(shí)間及操作之間的時(shí)序關(guān)系,因此算法流程圖和硬件之間的對(duì)應(yīng)并不嚴(yán)格,一般無(wú)法直接用Verilog描述。為克服這一缺點(diǎn),引入另一種描述方法ASM(Algorithmicstatemachine)圖。

ASM圖是按照一組簡(jiǎn)單和明確的規(guī)則繪制的。在時(shí)序電路的ASM圖中,每一個(gè)狀態(tài)由一個(gè)ASM塊來(lái)表示。一個(gè)ASM塊是一種小型的符號(hào)化結(jié)構(gòu)圖,由它指出了當(dāng)前狀態(tài)、它的輸出和次態(tài)的條件。一個(gè)數(shù)字系統(tǒng)所有狀態(tài)的ASM塊,按照一定的順序聯(lián)結(jié)成一個(gè)網(wǎng)狀結(jié)構(gòu),由此產(chǎn)生的ASM圖可用來(lái)精確地描述系統(tǒng)所具有的功能。2/3/202312GUETSchoolofInformation&Communications1、基本符號(hào)

ASM圖包含三種不同類型的符號(hào):矩形狀態(tài)框、菱形判別框和條件輸出框。入口出口狀態(tài)輸出表(a)狀態(tài)框狀態(tài)名狀態(tài)編碼狀態(tài)框

(statebox)記憶該狀態(tài)下所產(chǎn)生的控制信號(hào)、寄存器操作每一狀態(tài)賦予一名稱,標(biāo)記于左上方指定給狀態(tài)之二進(jìn)制編碼置于右上方例如一狀態(tài)名稱為IDLE,指定二進(jìn)制碼011,寄存器操作為R0,并啟動(dòng)某操作的控制信號(hào)R<-0RUNIDLE0112/3/202313GUETSchoolofInformation&Communications條件輸出表入口出口(c)條件輸出框條件入口條件假出口0條件真出口1(b)判別框判別框

(decisionbox)描述輸入對(duì)控制子系統(tǒng)之效應(yīng),輸入條件為單一變量或布爾表達(dá)式以有二個(gè)或更多出口路徑之菱形表示,測(cè)試條件標(biāo)記于內(nèi)若判別框有二輸出,則一為TRUE(1),另一為FALSE(0)條件框

(conditionaloutputbox)為ASM特有,以橢圓表示輸入路徑必須來(lái)自判別框出口之一條件框內(nèi)的輸出或寄存器操作,在輸入條件滿足的狀態(tài)下才會(huì)發(fā)生。2/3/202314GUETSchoolofInformation&CommunicationsASM塊范例1個(gè)狀態(tài)框:IDLE2個(gè)判別框:STARTQ01個(gè)條件框A2、ASM塊

ASM圖的基本單元是ASM塊,ASM塊必含一個(gè)矩形狀態(tài)框,菱形判斷框和條件輸出框可選。AVAILSTARTA<-0Q0IDLE0101MUL0MUL1ASM塊2/3/202315GUETSchoolofInformation&Communications特點(diǎn):只有一個(gè)狀態(tài)框只有一條進(jìn)入路徑,可以有多條離開(kāi)路徑塊內(nèi)所有的操作必須與系統(tǒng)同步在一個(gè)clock(T)內(nèi)完成相同的CLOCK會(huì)使系統(tǒng)控制狀態(tài)轉(zhuǎn)移到IDLE、MUL0、MUL1中的一個(gè)狀態(tài)AVAILSTARTA<-0Q0IDLE0101MUL0MUL1entryexitexitexit注:ASM塊等同于時(shí)序機(jī)的狀態(tài),對(duì)于一個(gè)給定的ASM圖,用狀態(tài)轉(zhuǎn)換圖也可以表示同樣的信息,但是對(duì)機(jī)器的動(dòng)作表示不清晰2/3/202316GUETSchoolofInformation&Communications并行(parallel)模式與串行(serial)模式當(dāng)x1=1,x2=1,x3=02/3/202317GUETSchoolofInformation&Communications原則1:在算法的起始點(diǎn)安排一個(gè)狀態(tài);原則2:必須用狀態(tài)來(lái)分開(kāi)不能同時(shí)實(shí)現(xiàn)的寄存器傳輸操作;3、算法流程圖→ASM圖算法流程圖的工作塊、判別塊和條件操作塊分別對(duì)應(yīng)于ASM圖的狀態(tài)框、條件判別框和條件輸出框。轉(zhuǎn)換時(shí)遵循以下原則:原則3:判斷如果受寄存器操作的影響,應(yīng)在它們之間安排一個(gè)狀態(tài)。2/3/202318GUETSchoolofInformation&CommunicationsRR←DATARR←(RR-1)算法流程圖工作塊LD=0CPR=1LD=1CPR=0ASM圖SiSi+1011100狀態(tài)框確定控制信號(hào):LD=0RR←DATACPR=0RR←(RR-1)a)工作塊對(duì)應(yīng)狀態(tài)塊2/3/202319GUETSchoolofInformation&Communicationsb)條件操作塊和條件輸出塊RAM=0SOE?YNSRSOE?YNSL01010110Cr=0算法流程圖ASM圖控制信號(hào):Cr=0RAM←02/3/202320GUETSchoolofInformation&Communications

由算法流程圖轉(zhuǎn)換為ASM圖時(shí),判斷A+1之后的值,需要插入一個(gè)方框。c)轉(zhuǎn)換原則三2/3/202321GUETSchoolofInformation&Communications例:設(shè)計(jì)一個(gè)自動(dòng)報(bào)紙銷售機(jī)設(shè)計(jì)—個(gè)簡(jiǎn)單的數(shù)字電路用于電子的報(bào)紙售賣機(jī)的投幣器。假設(shè)報(bào)紙價(jià)格為1.5元。投幣器只能接受5角和1元的硬幣。必須提供適當(dāng)數(shù)目的零錢,投幣器不找錢。合法的硬幣組合包括1個(gè)5角的硬幣和1個(gè)1元的硬幣,3個(gè)5角的硬幣,1個(gè)1元硬幣和1個(gè)5角的硬幣,2個(gè)1元的硬幣是合法的,但是投幣器不找錢。當(dāng)投幣滿足時(shí),送出一份報(bào)紙假定輸入硬幣由AB表示:00-無(wú)投幣01-5角10-1元2/3/202322GUETSchoolofInformation&Communications算法流程圖開(kāi)始Coin<=0Paper<=0waitcoinABCoin=coinCoin=coin+10Coin=coin+5Coin>=15?Paper=1rstYNYN000110Coin<=0Paper<=0waitcoinABCoin>=15?rstCoin=coin+5Coin=coin+10Paper=1s0s1s2ASM圖2/3/202323GUETSchoolofInformation&Communicationsmodulepaper_seller(paper,clk,rst,ab);inputclk,rst;input[1:0]ab;outputpaper;regpaper;reg[4:0]coin;reg[1:0]state;parameters0=2'b00,s1=2'b01,s2=2'b10;always@(posedgeclk)if(rst)beginstate<=s0;paper<=1'b0;endelseCoin<=0Paper<=0waitcoinABCoin>=15?rstCoin=coin+5Coin=coin+10Paper=1s0s1s22/3/202324GUETSchoolofInformation&Communicationscase(state)s0:begincoin<=5'b00000;

state<=s1;paper<=1'b0;ends1:beginif(ab==2'b01)

coin<=coin+5;elseif(ab==2'b10)

coin<=coin+10;state<=s2;endCoin<=0Paper<=0waitcoinABCoin>=15?rstCoin=coin+5Coin=coin+10Paper=1s0s1s22/3/202325GUETSchoolofInformation&Communicationss2:begin

if(coin>=15)beginpaper<=1'b1;state<=s0;

end

elsestate<=s1;endendcaseendmoduleCoin<=0Paper<=0waitcoinABCoin>=15?rstCoin=coin+5Coin=coin+10Paper=1s0s1s22/3/202326GUETSchoolofInformation&Communications2/3/202327GUETSchoolofInformation&Communications2/3/202328GUETSchoolofInformation&Communications設(shè)計(jì)要求:設(shè)計(jì)一個(gè)十字路口交通燈控制系統(tǒng)。

東西道為主道,南北道為副道。如果東西道(EW)及南北道(NS)均有車,則東西道每次通行60秒(綠燈),南北道每次通行40秒(綠燈)。如果僅有一個(gè)通道有車,則禁止無(wú)車通道(紅燈);如果兩通道均無(wú)車,則禁止南北道。通道轉(zhuǎn)換時(shí),綠燈通道均需停車3秒(黃燈)??刂菩盘?hào):輸出燈光信號(hào)

NSRedNSGeenNSYellowEWRedEWGeenEWYellow實(shí)例2:交通燈控制系統(tǒng)2/3/202329GUETSchoolofInformation&Communications開(kāi)始東西道通行南北道禁止南北有車且東西無(wú)車或南北東西均有車且達(dá)到60秒東西停車南北停車3秒東西道禁止南北道通行南北無(wú)車且東西有車或南北東西均有車且達(dá)到40秒南北停車東西停車3秒0011分析:由題目得十字路口交通燈控制器大致流程圖細(xì)化問(wèn)題:

(1)如何判斷有無(wú)車?

傳感器:NSCAR

EWCAR(2)如何定時(shí)?如何啟動(dòng)定時(shí)?

定時(shí)器:TM60ENTM60

TM40ENTM40

TM3ENTM3

2/3/202330GUETSchoolofInformation&CommunicationsSTARTEWPASS,NSSTOPNSCAR=1?EWCAR=1?60秒?3秒?00001111EWSTOP,NSPASSNSCAR=1?EWCAR=1?40秒?3秒?000EWHOLD,NSHOLD01111EWHOLD,NSHOLD十字路口交通燈算法流程圖:2/3/202331GUETSchoolofInformation&Communications控制信號(hào)列表:傳感器定時(shí)器定時(shí)器使能輸出燈光信號(hào)

NSCARTM60ENTM60NSRed

EWCARTM40ENTM40NSGeen

TM3ENTM3NSYellowEWRedEWGeenEWYellow該系統(tǒng)是以控制為主的系統(tǒng),其數(shù)據(jù)單元僅包含定時(shí)器,接收ENTM60、ENTM40、ENTM3使信號(hào),給出TM60、TM40、TM3信號(hào)。2/3/202332GUETSchoolofInformation&Communications由算法流程圖轉(zhuǎn)換成ASM圖NSCAREWCARTM300001111NSCAREWCARTM40TM300001111EWGeenNSRed,ENTM60NSRedEWYellow,ENTM300S0S101NSGreenEWRed,ENTM40EWRedNSYellow,ENTM31110S2S3TM602/3/202333GUETSchoolofInformation&Communicationsmoduletraffic_light_control_unit(nsred,nsgreen,nsyellow,ewred,ewgreen,ewyellow,entm60,entm40,entm3,clk,rst,ewcar,nscar,tm60,tm40,tm3);outputnsred,nsgreen,nsyellow,ewred,ewgreen,ewyellow,entm60,entm40,entm3;input

clk,rst,ewcar,nscar,tm60,tm40,tm3;

regnsred,nsgreen,nsyellow,ewred,ewgreen,ewyellow,entm60,entm40,entm3;

parameters0=2'b00,s1=2'b01,s2=2'b11,s3=2'b10;

reg[1:0]next_state,state;2/3/202334GUETSchoolofInformation&Communicationsalways@(posedgeclk)

if(rst)state<=s0;

elsestate<=next_state;always@(stateorewcarornscarortm60ortm40ortm3)

case(state)2/3/202335GUETSchoolofInformation&Communicationss0:begin

nsred=1'b1;nsgreen=1'b0;nsyellow=1'b0;ewred=1'b0;ewgreen=1'b1;ewyellow=1'b0;entm60=1'b1;entm40=1'b0;entm3=1'b0;

if((nscar&ewcar&tm60)|(nscar&(!ewcar)))

next_state<=s1;else

next_state<=s0;

end2/3/202336GUETSchoolofInformation&Communicationss1:beginnsred=1'b1;nsgreen=1'b0;nsyellow=1'b0;ewred=1'b0;ewgreen=1'b0;ewyellow=1'b1;entm60=1'b0;entm40=1'b0;entm3=1'b1;

if(tm3)next_state<=s2;

elsenext_state<=s1;

end2/3/202337GUETSchoolofInformation&Communicationss2:beginnsred=1'b0;nsgreen=1'b1;nsyellow=1'b0;ewred=1'b1;ewgreen=1'b0;ewyellow=1'b0;entm60=1'b0;entm40=1'b1;entm3=1'b0;if((nscar&ewcar&tm40)|(!nscar))next_state<=s3;

elsenext_state<=s2;

end2/3/202338GUETSchoolofInformation&Communicationss3:beginnsred=1'b0;nsgreen=1'b0;nsyellow=1'b1;ewred=1'b1;ewgreen=1'b0;ewyellow=1'b0;entm60=1'b0;entm40=1'b0;entm3=1'b1;

if(tm3)next_state<=s0;

elsenext_state<=s3;

end

endcaseendmodule2/3/202339GUETSchoolofInformation&Communicationsmodule

traffic_light_data_path(tm60,tm40,tm3,clk,rst,entm60,entm40,entm3);

outputtm60,tm40,tm3;inputclk,rst;

inputentm60,entm40,entm3;

regtm60,tm40,tm3;

reg[7:0]cnt;

reg[7:0]cnt_data;

parametert60=8'b11000000,t40=8'b10000000,t3=8'b00010000;2/3/202340GUETSchoolofInformation&Communicationsalways@(entm60orentm40orentm3)

begincase

({entm60,entm40,entm3})3'b100:cnt_data<=t60;3'b010:cnt_data<=t40;3'b001:cnt_data<=t3;3'b000:cnt_data<=0;

endcaseend2/3/202341GUETSchoolofInformation&Communicatio

溫馨提示

  • 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ù)網(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)論