




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
主講:信息與通信學院謝躍雷(副教授)硬件描述語言及其在數(shù)字系統(tǒng)中的應(yīng)用2/3/20231GUETSchoolofInformation&Communications第五講現(xiàn)代數(shù)字系統(tǒng)設(shè)計數(shù)字系統(tǒng)的描述方法數(shù)字系統(tǒng)算法設(shè)計算法流程圖算法結(jié)構(gòu)2/3/20232GUETSchoolofInformation&Communications5.1數(shù)字系統(tǒng)模型為便于分析和設(shè)計數(shù)字系統(tǒng),有必要選擇適當?shù)哪P蛯ο到y(tǒng)進行描述。數(shù)字系統(tǒng)的動態(tài)模型和算法模型是兩種基本的有效模型。1.動態(tài)模型指在數(shù)字邏輯設(shè)計中,采用傳統(tǒng)的狀態(tài)轉(zhuǎn)換圖,狀態(tài)轉(zhuǎn)換表,狀態(tài)方程,輸出方程,時序圖,真值表,卡諾圖等描述工具的數(shù)字系統(tǒng)稱為動態(tài)模型。2/3/20233GUETSchoolofInformation&Communications顯然,在傳統(tǒng)數(shù)字電路中學習采用的都是動態(tài)模型。
例如:舉重比賽有三位裁判,一位是主裁判A,另兩位是副裁判B和C,運動員一次舉重是否成功,由裁判員各自按動面前的按鈕決定,只有兩人以上,且其中必須有主裁判判定為成功時,表示成功的指示燈L才會燃亮。
ABC
L00000010010001101000101111011111真值表函數(shù)式:L=A(B+C)&ALBC2/3/20234GUETSchoolofInformation&Communications例:設(shè)計一個串行數(shù)據(jù)檢測電路,當連續(xù)輸入3個或3個以上“1”時,電路輸出為“1”,其它情況下輸出為“0”。例如:輸入X101100111011110輸出Z000000001000110狀態(tài)表2/3/20235GUETSchoolofInformation&Communications2.算法模型設(shè)計數(shù)字系統(tǒng)的傳統(tǒng)方法是建立在系統(tǒng)動態(tài)模型的基礎(chǔ)上的。對于較復(fù)雜的數(shù)字系統(tǒng),動態(tài)模型難以適用,數(shù)字技術(shù)人員現(xiàn)今普遍采用系統(tǒng)算法模型來描述和設(shè)計數(shù)字系統(tǒng)。系統(tǒng)算法模型思想:將系統(tǒng)實現(xiàn)的功能看作是應(yīng)完成的某種運算。若運算太復(fù)雜,可把它分解成一系列子運算(子功能),若子運算還較復(fù)雜,可以繼續(xù)分解,直到分解為一系列簡單運算。2/3/20236GUETSchoolofInformation&Communications然后按一定的規(guī)律,順序地或并行地進行這些簡單的基本運算,從而,實現(xiàn)原來復(fù)雜系統(tǒng)的功能。算法就是對這種有規(guī)律、有序分解的一種描述。事實證明,任何一個系統(tǒng)都可以用算法模型來進行描述。
系統(tǒng)的算法模型通常具有兩大特征:(1)含有若干子運算,這些子運算實現(xiàn)對欲處理數(shù)據(jù)或信息的傳輸、存儲或加工處理。(2)具有相應(yīng)的控制序列,控制子運算按一定的規(guī)律有序地進行。
2/3/20237GUETSchoolofInformation&Communications例:設(shè)計一個串行數(shù)據(jù)檢測電路,當連續(xù)輸入3個或3個以上“1”時,電路輸出為“1”,其它情況下輸出為“0”。例如:輸入X101100111011110輸出Z0000000001000110求其算法模型?解:實現(xiàn)該系統(tǒng)功能應(yīng)由三個存貯單元R1、R2和R3,分別存放輸入信號x(t-1)、x(t)、x(t+1)的數(shù)據(jù),然后再根據(jù)以下檢測規(guī)則決定輸出Z
(1)當x(t-1)=x(t)=x(t+1)=1,輸出Z=1即Z=R1&R2&R3。(2)其它情況Z=0。每經(jīng)過一次檢測,則將后進入的數(shù)據(jù)取代先進入的數(shù)據(jù),又送進一個新的數(shù)據(jù),此過程周而復(fù)始地進行。
以上就是串行數(shù)據(jù)檢測算法,如何描述該算法模型?可借助軟件設(shè)計中的流程圖描述法2/3/20238GUETSchoolofInformation&Communications圖5.1.3序列檢測系統(tǒng)算法流程圖開始t=0Z=0t=t+1Z=1Z=0R1=R2=R3=1?
NOYESR1X(t)R2R1R3R2以圖形像地給出了需要進行的操作以及進行這些操作的條件和順序。與軟件設(shè)計中的流程圖相同,稱為算法流程圖。工作塊:矩形判別塊:菱形條件塊:矩形開始結(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)機圖(ASM)
算法流程圖是基于事件驅(qū)動,僅規(guī)定了操作的順序,并未規(guī)定操作的時間及操作之間的時序關(guān)系,因此算法流程圖和硬件之間的對應(yīng)并不嚴格,一般無法直接用Verilog描述。為克服這一缺點,引入另一種描述方法ASM(Algorithmicstatemachine)圖。
ASM圖是按照一組簡單和明確的規(guī)則繪制的。在時序電路的ASM圖中,每一個狀態(tài)由一個ASM塊來表示。一個ASM塊是一種小型的符號化結(jié)構(gòu)圖,由它指出了當前狀態(tài)、它的輸出和次態(tài)的條件。一個數(shù)字系統(tǒng)所有狀態(tài)的ASM塊,按照一定的順序聯(lián)結(jié)成一個網(wǎng)狀結(jié)構(gòu),由此產(chǎn)生的ASM圖可用來精確地描述系統(tǒng)所具有的功能。2/3/202312GUETSchoolofInformation&Communications1、基本符號
ASM圖包含三種不同類型的符號:矩形狀態(tài)框、菱形判別框和條件輸出框。入口出口狀態(tài)輸出表(a)狀態(tài)框狀態(tài)名狀態(tài)編碼狀態(tài)框
(statebox)記憶該狀態(tài)下所產(chǎn)生的控制信號、寄存器操作每一狀態(tài)賦予一名稱,標記于左上方指定給狀態(tài)之二進制編碼置于右上方例如一狀態(tài)名稱為IDLE,指定二進制碼011,寄存器操作為R0,并啟動某操作的控制信號R<-0RUNIDLE0112/3/202313GUETSchoolofInformation&Communications條件輸出表入口出口(c)條件輸出框條件入口條件假出口0條件真出口1(b)判別框判別框
(decisionbox)描述輸入對控制子系統(tǒng)之效應(yīng),輸入條件為單一變量或布爾表達式以有二個或更多出口路徑之菱形表示,測試條件標記于內(nèi)若判別框有二輸出,則一為TRUE(1),另一為FALSE(0)條件框
(conditionaloutputbox)為ASM特有,以橢圓表示輸入路徑必須來自判別框出口之一條件框內(nèi)的輸出或寄存器操作,在輸入條件滿足的狀態(tài)下才會發(fā)生。2/3/202314GUETSchoolofInformation&CommunicationsASM塊范例1個狀態(tài)框:IDLE2個判別框:STARTQ01個條件框A2、ASM塊
ASM圖的基本單元是ASM塊,ASM塊必含一個矩形狀態(tài)框,菱形判斷框和條件輸出框可選。AVAILSTARTA<-0Q0IDLE0101MUL0MUL1ASM塊2/3/202315GUETSchoolofInformation&Communications特點:只有一個狀態(tài)框只有一條進入路徑,可以有多條離開路徑塊內(nèi)所有的操作必須與系統(tǒng)同步在一個clock(T)內(nèi)完成相同的CLOCK會使系統(tǒng)控制狀態(tài)轉(zhuǎn)移到IDLE、MUL0、MUL1中的一個狀態(tài)AVAILSTARTA<-0Q0IDLE0101MUL0MUL1entryexitexitexit注:ASM塊等同于時序機的狀態(tài),對于一個給定的ASM圖,用狀態(tài)轉(zhuǎn)換圖也可以表示同樣的信息,但是對機器的動作表示不清晰2/3/202316GUETSchoolofInformation&Communications并行(parallel)模式與串行(serial)模式當x1=1,x2=1,x3=02/3/202317GUETSchoolofInformation&Communications原則1:在算法的起始點安排一個狀態(tài);原則2:必須用狀態(tài)來分開不能同時實現(xiàn)的寄存器傳輸操作;3、算法流程圖→ASM圖算法流程圖的工作塊、判別塊和條件操作塊分別對應(yīng)于ASM圖的狀態(tài)框、條件判別框和條件輸出框。轉(zhuǎn)換時遵循以下原則:原則3:判斷如果受寄存器操作的影響,應(yīng)在它們之間安排一個狀態(tài)。2/3/202318GUETSchoolofInformation&CommunicationsRR←DATARR←(RR-1)算法流程圖工作塊LD=0CPR=1LD=1CPR=0ASM圖SiSi+1011100狀態(tài)框確定控制信號:LD=0RR←DATACPR=0RR←(RR-1)a)工作塊對應(yīng)狀態(tài)塊2/3/202319GUETSchoolofInformation&Communicationsb)條件操作塊和條件輸出塊RAM=0SOE?YNSRSOE?YNSL01010110Cr=0算法流程圖ASM圖控制信號:Cr=0RAM←02/3/202320GUETSchoolofInformation&Communications
由算法流程圖轉(zhuǎn)換為ASM圖時,判斷A+1之后的值,需要插入一個方框。c)轉(zhuǎn)換原則三2/3/202321GUETSchoolofInformation&Communications例:設(shè)計一個自動報紙銷售機設(shè)計—個簡單的數(shù)字電路用于電子的報紙售賣機的投幣器。假設(shè)報紙價格為1.5元。投幣器只能接受5角和1元的硬幣。必須提供適當數(shù)目的零錢,投幣器不找錢。合法的硬幣組合包括1個5角的硬幣和1個1元的硬幣,3個5角的硬幣,1個1元硬幣和1個5角的硬幣,2個1元的硬幣是合法的,但是投幣器不找錢。當投幣滿足時,送出一份報紙假定輸入硬幣由AB表示:00-無投幣01-5角10-1元2/3/202322GUETSchoolofInformation&Communications算法流程圖開始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è)計要求:設(shè)計一個十字路口交通燈控制系統(tǒng)。
東西道為主道,南北道為副道。如果東西道(EW)及南北道(NS)均有車,則東西道每次通行60秒(綠燈),南北道每次通行40秒(綠燈)。如果僅有一個通道有車,則禁止無車通道(紅燈);如果兩通道均無車,則禁止南北道。通道轉(zhuǎn)換時,綠燈通道均需停車3秒(黃燈)??刂菩盘枺狠敵鰺艄庑盘?/p>
NSRedNSGeenNSYellowEWRedEWGeenEWYellow實例2:交通燈控制系統(tǒng)2/3/202329GUETSchoolofInformation&Communications開始東西道通行南北道禁止南北有車且東西無車或南北東西均有車且達到60秒東西停車南北停車3秒東西道禁止南北道通行南北無車且東西有車或南北東西均有車且達到40秒南北停車東西停車3秒0011分析:由題目得十字路口交通燈控制器大致流程圖細化問題:
(1)如何判斷有無車?
傳感器:NSCAR
EWCAR(2)如何定時?如何啟動定時?
定時器: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控制信號列表:傳感器定時器定時器使能輸出燈光信號
NSCARTM60ENTM60NSRed
EWCARTM40ENTM40NSGeen
TM3ENTM3NSYellowEWRedEWGeenEWYellow該系統(tǒng)是以控制為主的系統(tǒng),其數(shù)據(jù)單元僅包含定時器,接收ENTM60、ENTM40、ENTM3使信號,給出TM60、TM40、TM3信號。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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤礦安全生產(chǎn)監(jiān)督管理規(guī)范
- 高校體育技能提升訓練計劃
- 感恩教育課程設(shè)計與教學反思
- 革命故事讀后感寫作指導
- 幼兒園控煙及環(huán)保宣傳方案
- 名著《朝花夕拾》教學設(shè)計與心得
- 湘西州2018年中考藝術(shù)試卷分析
- 繞線機設(shè)備操作流程規(guī)范
- 親子共讀心得與體驗分享
- 中學物理競賽訓練計劃與題庫
- 建筑工程項目技術(shù)總結(jié)報告模板
- 鼠疫實驗室生物安全培訓課件
- 信息系統(tǒng)審計手冊
- 【7歷第一次月考】安徽省六安市霍邱縣2024-2025學年部編版七年級上學期10月月考歷史試卷
- 2025年西學中培訓結(jié)業(yè)考試卷(有答案)
- 男襯衫領(lǐng)的縫制工藝
- 拆除工程吊裝方案范本(3篇)
- 稅務(wù)稽查跟蹤管理辦法
- GB/T 13173.2-2000洗滌劑中總活性物含量的測定
- 《飼料和飼料添加劑管理條例》及配套規(guī)章解讀
- 水泥基自流平超平地面施工工藝課件
評論
0/150
提交評論