版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 1基于基于fpgafpga的嵌入式系統(tǒng)設計的嵌入式系統(tǒng)設計電工電子工程基礎電工電子工程基礎王貞炎王貞炎電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 23 可綜合可綜合veriloghdl設計設計 3.1 fpga中邏輯設計的一些概念和原則中邏輯設計的一些概念和原則 3.2 組合邏輯的建模組合邏輯的建模 3.3 時序邏輯的建模時序邏輯的建模 3.4 存儲器的建模與使用存儲器的建模與
2、使用 3.5 有限狀態(tài)機的建模有限狀態(tài)機的建模 3.6 課堂操作實驗課堂操作實驗電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 33.1 fpga中邏輯設計的一些概念和原則中邏輯設計的一些概念和原則 3.1.1 一些基本概念一些基本概念 3.1.2 同步設計同步設計 3.1.3 串并操作串并操作 3.1.4 流水線流水線 3.1.5 異步時鐘域處理異步時鐘域處理電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 43.1.1 一些基
3、本概念一些基本概念 3.1.1.1 面積和速度面積和速度面積:是指一個設計所消耗fpga,可理解為一個設計在fpga中占用的“面積”。主要由le衡量,還包括ram和dsp塊等。速度:是指一個設計在fpga芯片上能穩(wěn)定運行的最高頻率?!懊娣e”和“速度”是一對對立統(tǒng)一的矛盾體??梢杂酶嗟倪壿嬞Y源實現(xiàn)更快速的處理,也可以犧牲速度用較少的邏輯資源“面積”和“速度”互換??茖W的設計目標是:在滿足設計時序要求的前提下,占用最小的芯片面積;或者在所規(guī)定的面積下,使設計的時序余量更大,頻率更高。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghd
4、l設計slide 53.1.1 一些基本概念一些基本概念 3.1.1.1 verilog描述的邏輯的并行性描述的邏輯的并行性verilog很多語法規(guī)則和c語言相似,但兩者有本質(zhì)區(qū)別!在編寫verilog代碼時,要始終記住:“我在描述一個硬件電路的連接,而不是順序執(zhí)行的代碼。”,對于一個硬件電路,在verilog描述中各部分語句的“執(zhí)行”是并發(fā)的。一個hdl代碼的優(yōu)劣的最終評價標準是其描述實現(xiàn)的硬件電路的性能(包括面積和速度兩個方面),而不能只是片面地追求代碼的簡潔。在編寫verilog代碼前,應先對系統(tǒng)要實現(xiàn)的硬件電路的連接在大體上和關鍵點上有一個明確地規(guī)劃。硬件描述語言是描述硬件的,要實現(xiàn)對
5、硬件實現(xiàn)“胸有成竹”,才能描述得好。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 63.1.1 一些基本概念一些基本概念 3.1.1.1 合理分配模塊合理分配模塊在設計一個較大的系統(tǒng)時,往往需要將系統(tǒng)分為多個模塊。模塊的劃分是需要合理考慮的。按實際功能劃分模塊。劃分出來的模塊的端口意義盡量簡明。一個模塊自成一體,調(diào)用模塊者絕對不需要知道模塊內(nèi)部原理,絕對不需要干涉內(nèi)部工作過程。模塊規(guī)模合理。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計
6、slide 73.1.1 一些基本概念一些基本概念 3.1.1.1 合理利用資源合理利用資源在設計一個電子系統(tǒng)時,要了解,什么樣的功能適合用le實現(xiàn),什么樣的功能時候由dsp、cpu實現(xiàn)(包括fpga內(nèi)部的dsp、cpu)。實時性要求高、頻率高、大量并行的功能模塊適合使用傳統(tǒng)的fpga邏輯實現(xiàn)。在fpga內(nèi)部設計時,要對的fpga全局有宏觀上的合理安排,比如時鐘、模塊組織結構、ram的利用、面積和速度等問題。善于利用片內(nèi)ram、乘法器。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 83.1.2 同步設計同步設
7、計 3.1.2.1 同步和異步設計同步和異步設計異步數(shù)字電路:電路的核心邏輯用組合電路實現(xiàn);電路的主要信號并不依賴任何一個時鐘性信號;容易產(chǎn)生毛刺,出現(xiàn)競爭冒險;不利于器件移植、不利于時序分析與驗證。同步數(shù)字電路:電路核心邏輯用各種觸發(fā)器實現(xiàn);電路的主要信號都是由某個時鐘沿驅(qū)動產(chǎn)生的;可以很好地避免毛刺;有利于器件移植和時序分析及驗證??删幊唐骷杀驹絹碓降?,綜合效果越來越強,現(xiàn)代pld設計首選同步時序設計方式!電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 93.1.2 同步設計同步設計 3.1.2.2 同步
8、設計的原則同步設計的原則所有信號均由時鐘驅(qū)動,并且在同一個設計內(nèi),最好只由同一個時鐘驅(qū)動。在同步設計中,一切邏輯均可簡化為由下面的結構羅列而成電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 103.1.2 同步設計同步設計 3.1.2.3 建立時間和保持時間建立時間和保持時間 建立時間(tsu):在時鐘有效沿之前數(shù)據(jù)必須保持穩(wěn)定的最小時間保持時間(th):在時鐘有效沿之后數(shù)據(jù)必須保持穩(wěn)定的最小時間建立時間和保持時間形成一個時間窗,在此窗之內(nèi),數(shù)據(jù)必須保持穩(wěn)定。同步設計的速度限制,根本上源于建立時間和保持時間的要
9、求電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 113.1.2 同步設計同步設計 3.1.2.4 統(tǒng)一時鐘和時鐘使能!統(tǒng)一時鐘和時鐘使能!在同一個設計中,盡量讓所有的模塊使用同一時鐘,讓所有的“always(xxxedge clk)”中的clk是同一個clk。系統(tǒng)中不同部分的信號速率可能不一樣,使用時鐘使能控制處理速率。 例如:要讓一個模塊以1/8時鐘工作:電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 123.1.2 同步設
10、計同步設計 3.1.2.4 統(tǒng)一時鐘和數(shù)據(jù)使能!統(tǒng)一時鐘和數(shù)據(jù)使能! 數(shù)據(jù)流處理模塊的端口建議,使用于一切對單個數(shù)據(jù)處理需要數(shù)個、甚至不確定數(shù)目的時鐘周期的情況。clk:工作時鐘arst:異步復位datain:數(shù)據(jù)輸入dataen:輸入數(shù)據(jù)有效dataout:數(shù)據(jù)輸出datavalid:輸出數(shù)據(jù)有效指示每一級的datavalid接至后級的dataen。dataen有效時,采入數(shù)據(jù)進行處理。處理完數(shù)據(jù)輸出的同時讓datavalid有效,通知下級。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 133.1.3 串并
11、操作串并操作 “串并操作”是面積速度互換原則的直接體現(xiàn)。 將串行轉換為并行,一般旨在通過復制邏輯,提高整個設計的設計吞吐量,其本質(zhì)是通過面積的消耗提高系統(tǒng)的工作速率。 將并行轉換為串行,一般旨在節(jié)約資源,因為設計速度有足夠的余量,通過提高串行通道的工作速率而節(jié)約了面積,其本質(zhì)是通過速度的提高節(jié)約芯片面積。如串行加法器,乘法器,除法器等。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 143.1.4 流水線流水線 流水線處理是高速設計中的常用設計手段,是面積換取速度原則的又一具體體現(xiàn)。 時序邏輯處理數(shù)據(jù)流就是天然
12、的流水線結構。 流水線的結構示例:電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 153.1.4 流水線流水線 流水線示例:y=|a|*100-100電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 163.1.5 異步時鐘域處理異步時鐘域處理 如果連續(xù)兩個數(shù)據(jù)處理模塊需要使用不同的時鐘,前級的數(shù)據(jù)由一個時鐘驅(qū)動輸出,而后級的輸入?yún)s有另一個時鐘采入。這時出現(xiàn)時鐘異步。 異步域數(shù)據(jù)同步也是fpga設計的一個較常見問題,處理不好往往會
13、影響系統(tǒng)穩(wěn)定。 異步時鐘域同步的表現(xiàn)形式: 同頻異相問題,兩個時鐘域頻率相同,但相差不固定。 異頻問題,兩個時鐘域的頻率不同。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 173.1.5 異步時鐘域處理異步時鐘域處理 一般同步方法: 兩級寄存器采樣,即用后級時鐘對前級數(shù)據(jù)采樣兩次。這種做法可以有效地減少亞穩(wěn)態(tài)的傳播,使后級電平都是有效電平值,但不一定是正確電平值。該方法適用于對錯誤不敏感的同頻異相時鐘域數(shù)據(jù)的同步。 使用fifo,可以可靠解決異步時鐘域數(shù)據(jù)的同步問題,注意數(shù)據(jù)滿和空:前級時鐘大于后級時鐘,注意
14、寫滿;前級時鐘小于后級時鐘,注意讀空。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 183.1.5 異步時鐘域處理異步時鐘域處理 特殊情況轉換低頻時鐘為時鐘使能: 如果低頻時鐘頻率遠低于高頻時鐘,建議用高頻時鐘將低頻時鐘同步為單周期使能信號。 典型例子: 用外部處理器(或用nios pio)與fpga邏輯交互。外部處理器送來的時鐘可能很慢。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 193.2 組合邏輯的建模組合邏輯的建模
15、 3.2.1 方法一方法一數(shù)據(jù)流建模數(shù)據(jù)流建模 參數(shù)化的奇偶校驗器 3.2.2 方法二方法二行為建模行為建模 bcd7段譯碼器 3.2.3 方法三方法三結構建模結構建模 雙向信號接口電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 203.2.1 組合邏輯的數(shù)據(jù)流建模組合邏輯的數(shù)據(jù)流建模 參數(shù)化的奇偶校驗器的建模參數(shù)化的奇偶校驗器的建模module paritygenerator(datain,oddpar,evenpar); parameter nbits=4; input nbits-1:0 datain;
16、output oddpar,evenpar; assign evenpar=datain; assign oddpar=evenpar;endmodule電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 213.2.2 組合邏輯的行為建模組合邏輯的行為建模bcd7段譯碼器的建模段譯碼器的建模module bcd2led(a,b,c,d,e,f,g,d3,d2,d1,d0); output a,b,c,d,e,f,g; input d3,d2,d1,d0; reg a,b,c,d,e,f,g; always(d3
17、or d2 or d1 or d0) begin case(d3,d2,d1,d0) 4d0: a,b,c,d,e,f,g=7b1111110; 4d1: a,b,c,d,e,f,g=7b0110000; 4d2: a,b,c,d,e,f,g=7b1101101; 4d3: a,b,c,d,e,f,g=7b1111001; 4d4: a,b,c,d,e,f,g=7b0110011; 4d5: a,b,c,d,e,f,g=7b1011011; 4d6: a,b,c,d,e,f,g=7b1011111; 4d7: a,b,c,d,e,f,g=7b1110000; 4d8: a,b,c,d,e,f,
18、g=7b1111111; 4d9: a,b,c,d,e,f,g=7b1111011; default: a,b,c,d,e,f,g=7b0000000; endcase endendmodule電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 223.2.3 組合邏輯的結構建模組合邏輯的結構建模 雙向信號接口的建模雙向信號接口的建模module ee_sstl(o,i,io,e,bi); output o; input i,e,bi; inout io; wire q1; bufif1 g1(io,i,e); b
19、ufif1 g2(q1,io,bi); buf g3(o,q1);endmodule電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 233.3 時序邏輯的建模時序邏輯的建模3.3.1 觸發(fā)器建模觸發(fā)器建模 異步清零或置位 同步清零或置位3.3.2 鎖存器建模鎖存器建模 異步清零或置位3.3.3 計數(shù)器建模計數(shù)器建模 二進制計數(shù)器 模n計數(shù)器 格雷碼計數(shù)器3.3.4 移位寄存器建模移位寄存器建模3.3.5 一些設計的注意事項一些設計的注意事項電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計sp
20、ring 2010可綜合veriloghdl設計slide 243.3.1 觸發(fā)器建模觸發(fā)器建模3.3.1.1 異步置位清零異步置位清零d觸發(fā)器觸發(fā)器module asyncpreclrdff(clk,clear,preset,data,q); input clk,clear,data,preset; output q; reg q; always(posedge clk or posedge clear or posedge preset) if(preset) q=1b1; else if(clear) q=1b0; else q=data;endmodule電工電子科技創(chuàng)新中心電工電子科
21、技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 253.3.1 觸發(fā)器建模觸發(fā)器建模3.3.1.2 同步置位清零同步置位清零d觸發(fā)器觸發(fā)器module syncpreclrdff(clk,clear,preset,data,q); input clk,clear,data,preset; output q; reg q; always(negedge clk) if(preset) q=1b1; else if(clear) q=1b0; else q=data;endmodule電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式
22、系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 263.3.2 鎖存器建模鎖存器建模3.3.2.1 異步置位清零鎖存器異步置位清零鎖存器module asyncpreclrlatch(clk,clear,preset,data,q); input clk,clear,data,preset; output q; reg q; always(clk or clear or preset or data) if(preset) q=1b1; else if(clear) q=1b0; else if(clk) q=data;endmodule電工電子科技創(chuàng)新中心電工電子科技
23、創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 273.3.3 計數(shù)器建模計數(shù)器建模3.3.3.1 二進制計數(shù)器二進制計數(shù)器module binarycounter(ck,updown,presetclear,loaddata,datain,q,qn); parameter nbits=2; input ck,updown,presetclear,loaddata; input nbits-1:0 datain; output nbits-1:0 q,qn; reg nbits-1:0 counter; always(posedge ck)
24、if(presetclear) counter=0; else if(loaddata) counter=datain; else if(updown) counter=counter+1; else counter=counter-1; assign q=counter; assign qn=counter;endmodule電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 283.3.3 計數(shù)器建模計數(shù)器建模 3.3.3.2 模模n計數(shù)器計數(shù)器module modulon_cntr(clock,clear,q
25、,qbar); parameter nbits=2,upto=3; input clock,clear; output nbits-1:0 q,qbar; reg nbits-1:0 counter; always(posedge clock) if(clear) counter=0; else counter=(counter+1)%upto; assign q=counter; assign qbar=counter;endmodule電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 293.3.3 計數(shù)器建
26、模計數(shù)器建模3.3.3.3 格雷碼計數(shù)器格雷碼計數(shù)器轉換規(guī)則:格雷碼最高位與二進制碼最高位相同;格雷碼的次高位是其二進制碼的最高位和次高位異或的結果;依次類推,直到最低位。module graycounter(clockg,clear,q,qn); parameter nbits=2; input clockg,clear; output 1:nbits q,qn; reg 1:nbits counter,graycount; integer k; always(posedge clockg) if(clear) counter=0; else counter=counter+1; alway
27、s(counter) begin graycount1=counter1; for(k=2;k=nbits;k=k+1) graycountk=counterk-1counterk; end assign q=graycount; assign qn=graycount;endmodule序號二進制右移一位格雷碼00000000001001000001201000101130110010104100010110510101011161100111017111011100電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計sli
28、de 303.3.4 移位寄存器建模移位寄存器建模3.3.3.4 3位通用移位寄存器的綜合模型位通用移位寄存器的綜合模型具備功能:保持、左移、右移、載入。module univshiftregister(clock,clear,leftin,rightin,s0,s1,parin,q); input clock,clear,leftin,rightin,s0,s1; input 2:0 parin; output 2:0 q; reg 2:0 q; always(negedge clear or posedge clock) if(!clear) q=3b000; else case(s0,s
29、1) 2b00: ; 2b01: q=q1:0,rightin; 2b10: q=leftin,q2:1; 2b11: q=parin; endcaseendmodule電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 313.3.5 一些設計的注意事項一些設計的注意事項 3.3.5.1 避免組合邏輯反饋環(huán)路避免組合邏輯反饋環(huán)路 組合邏輯反饋環(huán)路( combinational loops)是 pld設計的大忌!它最容易因振蕩、毛刺、時序違規(guī)等引起整個系統(tǒng)的不穩(wěn)定和不可靠。 處理方法: 牢記任何反饋環(huán)路必須包含寄存
30、器。 檢查綜合、實現(xiàn)報告的warning信息,發(fā)現(xiàn)combinational loops后進行相應修改。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 323.3.5 一些設計的注意事項一些設計的注意事項 3.3.5.2 替換延遲鏈替換延遲鏈 延遲鏈是異步時序設計的常用手段,特別是在早期pld設計和當代asic設計中,經(jīng)常使用delay chains實現(xiàn)兩個結點間的延遲調(diào)整。當代pld設計推薦使用同步實現(xiàn)設計方法,一般要避免使用異步的delay chains。 在同步時序設計中,取代異步delay chains
31、的最常用方法是用分頻或倍頻的時鐘或者同步計數(shù)器完成所需延遲。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 333.3.5 一些設計的注意事項一些設計的注意事項 3.3.5.3 替換異步脈沖產(chǎn)生單元替換異步脈沖產(chǎn)生單元: 在異步設計中,常用delay chains完成脈沖產(chǎn)生: 常用的同步脈沖產(chǎn)生方法:電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 343.3.5 一些設計的注意事項一些設計的注意事項 3.3.5.4 慎用鎖存器
32、慎用鎖存器 同步邏輯設計要避免使用latch。 綜合出與設計意圖不吻合的latch結構的主要原因有: 在設計組合邏輯時,使用不完全的條件判斷語句,如if沒有else,或不完整的case語句; 設計中存在組合邏輯的反饋環(huán)路。 防止產(chǎn)生非目的性latch的方法: 使用完備的ifelse語句; 檢查設計中是否含有組合邏輯反饋環(huán)路; 為每個輸入條件設計輸出操作,對case語句設置默認操作; 使用case語句時,特別是在設計狀態(tài)機時,盡量附加綜合約束屬性,綜合為完全條件case語句(full case)。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合ve
33、riloghdl設計slide 353.3.5 一些設計的注意事項一些設計的注意事項 3.3.5.5 同步時序電路推薦的時鐘設計方法同步時序電路推薦的時鐘設計方法 時鐘經(jīng)全局時鐘輸入引腳輸入,通過fpga內(nèi)部專用pll進行分頻/倍頻(一般可實現(xiàn)小數(shù)分頻倍頻)、移相等調(diào)整與運算,然后經(jīng)fpga內(nèi)部全局時鐘布線資源(一般為全銅工藝)驅(qū)動到達芯片內(nèi)所有寄存器和其它模塊的時鐘輸入端。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 363.3.5 一些設計的注意事項一些設計的注意事項 3.3.5.6 內(nèi)部邏輯產(chǎn)生的時鐘內(nèi)
34、部邏輯產(chǎn)生的時鐘 如果需要使用內(nèi)部邏輯產(chǎn)生時鐘,必須要在組合邏輯產(chǎn)生的時鐘后插入寄存器。電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 373.3.5 一些設計的注意事項一些設計的注意事項 3.3.5.7 門控時鐘的使用問題門控時鐘的使用問題 門控時鐘即gated clock,是ic設計的一種常用減少功耗的手段。但是gated clock不是同步時序電路,其門控邏輯會污染clock的質(zhì)量。 門控時鐘改進電路:電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veri
35、loghdl設計slide 383.4 存儲器的建模與使用存儲器的建模與使用 最好把存儲器建模成一個元件。通常,綜合工具不能最好把存儲器建模成一個元件。通常,綜合工具不能有效地設計出存儲器。一般采用更傳統(tǒng)的技術來建立有效地設計出存儲器。一般采用更傳統(tǒng)的技術來建立存儲器。一旦建立了存儲器模塊,就可以在綜合模型存儲器。一旦建立了存儲器模塊,就可以在綜合模型中使用模塊實例化語句來實例化該模塊。中使用模塊實例化語句來實例化該模塊。 層次設計方法和圖文混合設計的概念層次設計方法和圖文混合設計的概念 實例:查找表乘法器實例:查找表乘法器電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計s
36、pring 2010可綜合veriloghdl設計slide 393.4.1 存儲器的使用步驟存儲器的使用步驟電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 403.4.1 存儲器的使用步驟存儲器的使用步驟電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 413.4.1 存儲器的使用步驟存儲器的使用步驟電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide
37、 423.4.1 存儲器的使用步驟存儲器的使用步驟電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 433.4.1 存儲器的使用步驟存儲器的使用步驟電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 443.4.1 存儲器的使用步驟存儲器的使用步驟電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 453.4.1 存儲器的使用步驟存儲器的使用步驟電工電子科
38、技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 463.4.2 圖形輸入圖形輸入電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 473.4.3 建立存儲器初始化文件建立存儲器初始化文件電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 483.4.4 設定存儲器初始化數(shù)據(jù)設定存儲器初始化數(shù)據(jù)電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計s
39、pring 2010可綜合veriloghdl設計slide 493.4.5 仿真結果仿真結果電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 503.5 有限狀態(tài)機的建模有限狀態(tài)機的建模 3.5.1 有限狀態(tài)機的概念有限狀態(tài)機的概念 3.5.2 有限狀態(tài)機的設計步驟有限狀態(tài)機的設計步驟 3.5.3 有限狀態(tài)機的狀態(tài)編碼有限狀態(tài)機的狀態(tài)編碼 3.5.4 有限狀態(tài)機的設計方法有限狀態(tài)機的設計方法 3.5.5 有限狀態(tài)機的建模實例有限狀態(tài)機的建模實例序列檢測器序列檢測器電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fp
40、ga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 513.5.1 有限狀態(tài)機的概念有限狀態(tài)機的概念電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 523.5.2 有限狀態(tài)機的設計步驟有限狀態(tài)機的設計步驟 1、邏輯抽象,得出狀態(tài)轉換圖、邏輯抽象,得出狀態(tài)轉換圖 2、狀態(tài)化簡、狀態(tài)化簡 3、狀態(tài)分配、狀態(tài)分配 4、選定觸發(fā)器類型,求出狀態(tài)方程,驅(qū)動、選定觸發(fā)器類型,求出狀態(tài)方程,驅(qū)動方程,輸出方程方程,輸出方程 5、按照方程得出邏輯圖、按照方程得出邏輯圖 用用verilog語言描述
41、,大部分工作都由計算語言描述,大部分工作都由計算機自動完成機自動完成電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 533.5.3 有限狀態(tài)機的狀態(tài)編碼有限狀態(tài)機的狀態(tài)編碼 二進制編碼或格雷碼二進制編碼或格雷碼 獨熱碼獨熱碼 cpld格雷碼格雷碼 fpga獨熱碼獨熱碼電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 543.5.4 有限狀態(tài)機的設計方法有限狀態(tài)機的設計方法 三段式狀態(tài)機的設計方法三段式狀態(tài)機的設計方法狀態(tài)轉移塊(時
42、序)狀態(tài)驅(qū)動塊(組合)狀態(tài)輸出塊(組合)電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 553.5.5 序列檢測器序列檢測器 檢測到序列檢測到序列110,輸出,輸出1,否則,否則0 狀態(tài)轉換圖狀態(tài)轉換圖: (s0:輸入一個輸入一個0;s1:收到一個收到一個1;s2:連連續(xù)收到兩個續(xù)收到兩個1;s3:連續(xù)收到連續(xù)收到110)電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 563.5.5 序列檢測器序列檢測器 狀態(tài)轉移塊狀態(tài)轉移塊
43、parameter 3:0 s0=4b0001,s1=4b0010,s2=4b0100,s3=4b1000; /獨熱碼 reg 3:0 current_state,next_state; always (posedge clk) /狀態(tài)轉移塊 begin if(!nclr) current_state=s0; else current_state=next_state; end電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的嵌入式系統(tǒng)設計spring 2010可綜合veriloghdl設計slide 573.5.5 序列檢測器序列檢測器 狀態(tài)驅(qū)動塊狀態(tài)驅(qū)動塊 always (current_state or data) / 狀態(tài)驅(qū)動塊 begin case(current_state) s0: next_state=(data=1)?s1:s0); s1: next_state=(data=1)?s2:s0); s2: next_state=(data=1)?s2:s3); s3: next_state=(data=1)?s1:s0); default: next_state=(data=1)?s1:s0); endcase end電工電子科技創(chuàng)新中心電工電子科技創(chuàng)新中心基于fpga的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能化打樁機械租賃服務規(guī)范協(xié)議4篇
- 2025年度特色菜品研發(fā)廚房廚師長聘用合同4篇
- 2024物流運輸合同參考模板
- 2024版?zhèn)鶛噢D股權協(xié)議書
- 中國豬的飼養(yǎng)市場前景及投資研究報告
- 2025年度二手房交易擔保合同模板4篇
- 2025年度個人股權投資基金設立與運營協(xié)議4篇
- 2025年洗車店租賃及售后服務保障合同3篇
- 2025年度高端制造行業(yè)個人技術工人派遣合同2篇
- 2025年度個人房產(chǎn)買賣合同稅收籌劃協(xié)議3篇
- 肺動脈高壓的護理查房課件
- 2025屆北京巿通州區(qū)英語高三上期末綜合測試試題含解析
- 公婆贈予兒媳婦的房產(chǎn)協(xié)議書(2篇)
- 煤炭行業(yè)智能化煤炭篩分與洗選方案
- 2024年機修鉗工(初級)考試題庫附答案
- Unit 5 同步練習人教版2024七年級英語上冊
- 矽塵對神經(jīng)系統(tǒng)的影響研究
- 分潤模式合同模板
- 海南省汽車租賃合同
- 2024年長春醫(yī)學高等??茖W校單招職業(yè)適應性測試題庫必考題
- (正式版)SHT 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設計規(guī)范
評論
0/150
提交評論