




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第 1 章 FPGA基礎(chǔ)知識 1.1 FPGA設(shè)計工程師努力的方向 SOPC,高速串行I/O,低功耗,可靠性,可測試性和設(shè)計驗(yàn)證流程的優(yōu)化等方面。隨著芯片工藝的提高,芯片容量、集成度都在增加,F(xiàn)PGA設(shè)計也朝著高速、高度集成、低功耗、高可靠性、高可測、可驗(yàn)證性發(fā)展。芯片可測、可驗(yàn)證,正在成為復(fù)雜設(shè)計所必備的條件,盡量在上板之前查出bug,將發(fā)現(xiàn)bug的時間提前,這也是一些公司花大力氣設(shè)計仿真平臺的原因。另外隨著單板功能的提高、成本的壓力,低功耗也逐漸進(jìn)入FPGA設(shè)計者的考慮范圍,完成相同的功能下,考慮如何能夠使芯片的功耗最低。高速串行
2、IO的應(yīng)用,也豐富了FPGA的應(yīng)用范圍,象xilinx的v2pro中的高速鏈路也逐漸被應(yīng)用。 總之,學(xué)無止境,當(dāng)掌握一定概念、方法之后,就要開始考慮FPGA其它方面的問題了。1.2 簡述FPGA等可編程邏輯器件設(shè)計流程 系統(tǒng)設(shè)計電路構(gòu)思,設(shè)計說明與設(shè)計劃分,電路設(shè)計與輸入(HDL代碼、原理圖),功能仿真與測試,邏輯綜合,門級綜合,邏輯驗(yàn)證與測試(綜合后仿真),布局布線,時序仿真,板級驗(yàn)證與仿真,加載配置,在線調(diào)試。 常用開發(fā)工具(Altera FPGA) HDL語言輸入:Text Editor(HDL語言輸入),還可以使用U
3、ltra Edit 原理圖輸入:Schematic Editor IP Core輸入:MegaWinzad 綜合工具:Synplify/Synplify Pro,Qaustus II內(nèi)嵌綜合工具 仿真工具:ModelSim 實(shí)現(xiàn)與優(yōu)化工具:Quartus II集成的實(shí)現(xiàn)工具有Assignment Editor(約束編輯器)、LogicLock(邏輯鎖定工具)、PowerFit Fitter(布局布線器)、Timing Analyzer(時序分析器,STA分
4、析工具)、Floorplan Editor(布局規(guī)劃器)、Chip Editor(底層編輯器)、Design Space Explorer(設(shè)計空間管理器)、Design Assistant(檢查設(shè)計可靠性)等。 后端輔助工具:Assembler(編程文件生成工具),Programmer(下載編程工具),PowerGauge(功耗仿真器) 調(diào)試工具:SignalTap II(在線邏輯分析儀),SignalProbe(信號探針)。 系統(tǒng)級設(shè)計環(huán)境:SOPC Builder,DSP Bui
5、lder,Software Builder。1.3 Quartus文件管理 1. 編譯必需的文件:設(shè)計文件(.gdf、.bdf、EDIF輸入文件、.tdf、verilog設(shè)計文件、.vqm、.vt、VHDL設(shè)計文件、. vht)、存儲器初始化文件(.mif、.rif、.hex)、配置文件(.qsf、.tcl)、工程文件(.qpf)。 2. 編譯過程中生成的中間文件(.eqn文件和db目錄下的所有文件.tdf,.hdb,.xml等) 3. 編譯結(jié)束后生成的報告文件(.rpt、.qsmg等) 4.&
6、#160;根據(jù)個人使用習(xí)慣生成的界面配置文件(.qws等) 5. 編程文件(.sof、.pof、.ttf等)1.4 IC設(shè)計流程 寫出一份設(shè)計規(guī)范,設(shè)計規(guī)范評估,選擇芯片和工具,設(shè)計,(仿真,設(shè)計評估,綜合,布局和布線,仿真和整體檢驗(yàn))檢驗(yàn),最終評估,系統(tǒng)集成與測試,產(chǎn)品運(yùn)輸。 設(shè)計規(guī)則:使用自上而下的設(shè)計方法(行為級,寄存器傳輸級,門電路級),按器件的結(jié)構(gòu)來工作,做到同步設(shè)計,防止亞穩(wěn)態(tài)的出現(xiàn),避免懸浮的節(jié)點(diǎn),避免總線的爭搶(多個輸出端同時驅(qū)動同一個信號)。 設(shè)計測試(DFT)強(qiáng)調(diào)可測試性應(yīng)該是設(shè)計目標(biāo)的核心,目的是排除一個芯片的設(shè)
7、計缺陷,捕獲芯片在物理上的缺陷問題。 ASIC設(shè)計要求提供測試結(jié)構(gòu)和測試系向量。FPGA等默認(rèn)生產(chǎn)廠商已經(jīng)進(jìn)行了適當(dāng)?shù)臏y試。 測試的10/10原則:測試電路的規(guī)模不要超過整個FPGA的10%,花費(fèi)在設(shè)計和仿真測試邏輯上的時間不應(yīng)超過設(shè)計整個邏輯電路的10%。1.5 FPGA基本結(jié)構(gòu) 可編程輸入/輸出單元,基本可編程邏輯單元,嵌入式塊RAM,豐富的布線資源,底層嵌入式功能單元,內(nèi)嵌專用硬核。 常用的電氣標(biāo)準(zhǔn)有LVTTL,LCCMOS,SSTL,HSTL,LVDS,LVPECL,PCI等。 FPGA懸浮的總線會增加系統(tǒng)內(nèi)的噪聲,增加功率的
8、損耗,并且具有潛在的產(chǎn)生不穩(wěn)定性的問題,解決方案是加上拉電阻。 對于SRAM型器件,路徑是通過編程多路選擇器實(shí)現(xiàn);對于反熔絲型器件,路徑通過傳導(dǎo)線(高阻抗,有RC延時)來實(shí)現(xiàn)的。這兩種結(jié)構(gòu)都顯著加大了路徑延時。1.6 FPGA選型時要考慮哪些方面? 需要的邏輯資源、應(yīng)用的速度要求,功耗,可靠性,價格,開發(fā)環(huán)境和開發(fā)人員的熟悉程度。1.7 同步設(shè)計的規(guī)則 單個時鐘域: 1、 所有的數(shù)據(jù)都要通過組合邏輯和延時單元,典型的延時單元是觸發(fā)器,這些觸發(fā)器被一個時鐘信號所同步; 2、 延時總是由延時單元來控制,而不是
9、由組合邏輯來控制; 3、 組合邏輯所產(chǎn)生的信號不能在沒有通過一個同步延時單元的情況下反饋回到同一個組合邏輯; 4、 時鐘信號不能被門控,必須直接到達(dá)延時單元的時鐘輸入端,而不是經(jīng)過任何組合邏輯; 5、 數(shù)據(jù)信號必須只通向組合邏輯或延時單元的數(shù)據(jù)輸入端。 多個時鐘域: 把通過兩個不同時鐘作用區(qū)域之間的信號作為異步信號處理 1.8 你所知道的可編程邏輯器件有哪些? PAL/GAL,CPLD,F(xiàn)PGA PLA:可編程邏輯陣列,一種用于大規(guī)模的與陣列和或陣列的邏輯器件,用于實(shí)現(xiàn)布爾邏
10、輯的不同組合。PLA:可編程陣列邏輯,一種邏輯器件,由大規(guī)模的與陣列和規(guī)模小且數(shù)量固定的或門組成,可用于實(shí)現(xiàn)布爾邏輯和狀態(tài)機(jī)。 PAL:很短的交貨時間、可編程的、沒有NRE(非循環(huán)工程)費(fèi)用 門陣列:高密度性、能實(shí)現(xiàn)許多邏輯函數(shù)、速度相對較快 1.9 FPGA、ASIC、CPLD的概念及區(qū)別 FPGA(Field Programmable Gate Array)是可編程ASIC。 ASIC專用集成電路,它是面向?qū)iT用途的電路,專門為一個用戶設(shè)計和制造的。根據(jù)一個用戶的特定要求,能以低研制成本,短、交貨周期
11、供貨的全定制,半定制集成電路。與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設(shè)計開發(fā)周期短、設(shè)計制造成本低、開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實(shí)時在線檢驗(yàn)等優(yōu)點(diǎn)。 FPGA采用同步時鐘設(shè)計,使用全局時鐘驅(qū)動,采用時鐘驅(qū)動方式在各級專用布線資源上靈活布線,ASIC有時采用異步邏輯,一般采用門控時鐘驅(qū)動,一旦設(shè)計完成,其布線是固定的。FPGA比ASIC開發(fā)周期短,成本低,設(shè)計靈活。 CPLD(Complex Programmable Logic Device)是復(fù)雜可編程邏輯
12、器件。CPLD開關(guān)矩陣路徑設(shè)計的一個優(yōu)點(diǎn)是信號通過芯片的延時時間是確定的。設(shè)計者通過計算經(jīng)由功能模塊、I/O模塊和開關(guān)矩陣的延遲就可以 任何信號的延遲時間,并且信號沿金屬線傳遞所引起的延遲是可忽略的。1.10 鎖存器(latch)和觸發(fā)器(flip-flop)區(qū)別? 電平敏感的存儲器件稱為鎖存器,可分為高電平鎖存器和低電平鎖存器,用于不同時鐘之間的信號同步。 由交叉耦合的門構(gòu)成的雙穩(wěn)態(tài)的存儲原件稱為觸發(fā)器。分為上升沿觸發(fā)和下降沿觸發(fā)??梢哉J(rèn)為是兩個不同電平敏感的鎖存器串連而成。前一個鎖存器決定了觸發(fā)器的建立時間,后一個鎖存器則決定了保持時間。
13、 鎖存器對脈沖電平敏感,在時鐘脈沖的電平作用下改變狀態(tài)。鎖存器是電平觸發(fā)的存儲單元,數(shù)據(jù)存儲的動作取決于輸入時鐘(或者使能)信號的電平值,僅當(dāng)鎖存器處于使能狀態(tài)時,輸出才會隨著數(shù)據(jù)輸入發(fā)生變化。 鎖存器不同于觸發(fā)器,它不在鎖存數(shù)據(jù)時,輸出端的信號隨輸入信號變化,就像信號通過一個緩沖器一樣;一旦鎖存信號起鎖存作用,則數(shù)據(jù)被鎖住,輸入信號不起作用。鎖存器也稱為透明鎖存器,指的是不鎖存時輸出對于輸入是透明的。 應(yīng)用場合:數(shù)據(jù)有效遲后于時鐘信號有效。這意味著時鐘信號先到,數(shù)據(jù)信號后到。在某些運(yùn)算器電路中有時采用鎖存器作為數(shù)據(jù)暫存器。 缺點(diǎn):時序分析較困難。
14、60;不要鎖存器的原因:1、鎖存器容易產(chǎn)生毛刺,2、鎖存器在ASIC設(shè)計中應(yīng)該說比ff要簡單,但是在FPGA的資源中,大部分器件沒有鎖存器這個東西,所以需要用一個邏輯門和ff來組成鎖存器,這樣就浪費(fèi)了資源。 優(yōu)點(diǎn):面積小。鎖存器比FF快,所以用在地址鎖存是很合適的,不過一定要保證所有的latch信號源的質(zhì)量,鎖存器在CPU設(shè)計中很常見,正是由于它的應(yīng)用使得CPU的速度比外部IO部件邏輯快許多。latch完成同一個功能所需要的門較觸發(fā)器要少,所以在asic中用的較多。 寄存器用來存放數(shù)據(jù)的一些小型存儲區(qū)域,用來暫時存放參與運(yùn)算的數(shù)據(jù)和運(yùn)算結(jié)果,它被廣泛的用于各類數(shù)字系統(tǒng)和計算
15、機(jī)中。其實(shí)寄存器就是一種常用的時序邏輯電路,但這種時序邏輯電路只包含存儲電路。寄存器的存儲電路是由鎖存器或觸發(fā)器構(gòu)成的,因?yàn)橐粋€鎖存器或觸發(fā)器能存儲1位二進(jìn)制數(shù),所以由N個鎖存器或觸發(fā)器可以構(gòu)成N位寄存器。 工程中的寄存器一般按計算機(jī)中字節(jié)的位數(shù)設(shè)計,所以一般有8位寄存器、16位寄存器等。對寄存器中的觸發(fā)器只要求它們具有置1、置0的功能即可,因而無論是用同步RS結(jié)構(gòu)觸發(fā)器,還是用主從結(jié)構(gòu)或邊沿觸發(fā)結(jié)構(gòu)的觸發(fā)器,都可以組成寄存器。一般由D觸發(fā)器組成,有公共輸入/輸出使能控制端和時鐘,一般把使能控制端作為寄存器電路的選擇信號,把時鐘控制端作為數(shù)據(jù)輸入控制信號。 寄存器的應(yīng)用
16、160;1. 可以完成數(shù)據(jù)的并串、串并轉(zhuǎn)換; 2.可以用做顯示數(shù)據(jù)鎖存器:許多設(shè)備需要顯示計數(shù)器的記數(shù)值,以8421BCD碼記數(shù),以七段顯示器顯示,如果記數(shù)速度較高,人眼則無法辨認(rèn)迅速變化的顯示字符。在計數(shù)器和譯碼器之間加入一個鎖存器,控制數(shù)據(jù)的顯示時間是常用的方法。 3.用作緩沖器; 4. 組成計數(shù)器:移位寄存器可以組成移位型計數(shù)器,如環(huán)形或扭環(huán)形計數(shù)器。1.11 JTAG信號 TCK:測試時鐘輸入,用于移位控制,上升沿將測試指令、測試數(shù)據(jù)和控制輸入信號移入芯片;下降沿時將數(shù)據(jù)從芯片移出。 TMS:測試模式選擇,
17、串行輸入端,用于控制芯片內(nèi)部的JTAG狀態(tài)機(jī)。 TDI:測試數(shù)據(jù)輸入,串行輸入端,用于指令和編程數(shù)據(jù)的輸入,在時鐘上升沿,數(shù)據(jù)被捕獲。TDO:測試數(shù)據(jù)輸出,串行輸出端,時鐘下降沿,數(shù)據(jù)被驅(qū)動輸出。 TRST:測試復(fù)位輸入(僅用于擴(kuò)展JTAG),異步、低電平有效,用于JTAG初始化時。 1.12 FPGA芯片內(nèi)有哪兩種存儲器資源? FPGA芯片內(nèi)有兩種存儲器資源:一種叫block ram,另一種是由LUT配置成的內(nèi)部存儲器(也就是分布式ram,distribute ram)。Block ram由一定數(shù)量固定大小的存儲
18、塊構(gòu)成的,使用BLOCK RAM資源不占用額外的邏輯資源,并且速度快。但是使用的時候消耗的BLOCK RAM資源是其塊大小的整數(shù)倍。 1.13 FPGA中可以綜合實(shí)現(xiàn)為RAM/ROM/CAM的三種資源及其注意事項(xiàng)? 三種資源:block ram、觸發(fā)器(FF)、查找表(LUT); 注意事項(xiàng): 1、在生成RAM等存儲單元時,應(yīng)該首選block ram 資源;原因有二:使用block ram等資源,可以節(jié)約更多的FF和4-LUT等底層可編程單元,最大程度發(fā)揮器件效能,節(jié)約成本;
19、block ram是一種可以配置的硬件結(jié)構(gòu),其可靠性和速度與用LUT和register構(gòu)建的存儲器更有優(yōu)勢。 2、弄清FPGA的硬件結(jié)構(gòu),合理使用block ram資源;3、分析block ram容量,高效使用block ram資源和分布式ram資源(distribute ram)。 1.14 FPGA設(shè)計中對時鐘的使用?(例如分頻等) FPGA芯片有固定的時鐘路由,這些路由能有減少時鐘抖動和偏差。需要對時鐘進(jìn)行相位移動或變頻的時候,一般不允許對時鐘進(jìn)行邏輯操作,這樣不僅會增加時鐘的偏差和抖動,還會使時鐘
20、帶上毛刺。一般的處理方法是采用FPGA芯片自帶的時鐘管理器如PLL,DLL或DCM,或者把邏輯轉(zhuǎn)換到觸發(fā)器的D輸入。 1.15 Xilinx中與全局時鐘資源和DLL相關(guān)的硬件原語 常用的與全局時鐘資源相關(guān)的Xilinx器件原語包括:BUFG, IBUFGDS, BUFG, BUFGP, BUFGCE, BUFGMUX, BUFGDLL, DCM等。 1.16 HDL語言的層次概念? HDL語言是分層次的、類型的,最常用的層次概念有系統(tǒng)與標(biāo)準(zhǔn)級、功能模塊級
21、,行為級,寄存器傳輸級和門級。1.17 查找表的原理與結(jié)構(gòu)? 查找表(look-up-table)簡稱為LUT,本質(zhì)上是一個RAM。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有 4位地址線的16x1的RAM。 當(dāng)用戶通過原理圖或HDL語言描述了一個邏輯電路以后,PLD/FPGA開發(fā)軟件會自動計算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM,每輸入一個信號進(jìn)行邏輯運(yùn)算就等于輸入一個地址進(jìn)行查表,找出地址對應(yīng)的內(nèi)容,然后輸出。 1.18 IC設(shè)計前端到后端的流程和EDA工具? 設(shè)計前端也稱邏輯設(shè)計,后端
22、設(shè)計也稱物理設(shè)計,兩者并沒有嚴(yán)格的界限,一般涉及到與工藝有關(guān)的設(shè)計就是后端設(shè)計。 1:規(guī)格制定:客戶向芯片設(shè)計公司提出設(shè)計要求。 2:詳細(xì)設(shè)計:芯片設(shè)計公司(Fabless)根據(jù)客戶提出的規(guī)格要求,拿出設(shè)計解決方案和具體實(shí)現(xiàn)架構(gòu),劃分模塊功能。目前架構(gòu)的驗(yàn)證一般基于 system C,仿真可以使用system C的仿真工具,CoCentric和Visual Elite等。 3:HDL編碼:設(shè)計輸入工具:ultra ,visual VHDL等 4:仿真驗(yàn)證:modelsim 5:邏輯綜合
23、:synplify 6:靜態(tài)時序分析:synopsys的Prime Time 7:形式驗(yàn)證:Synopsys的Formality.1.19 什么是“線與”邏輯,要實(shí)現(xiàn)它,在硬件特性上有什么具體要求? 線與邏輯是兩個輸出信號相連可以實(shí)現(xiàn)與的功能。在硬件上,要用OC門(集電極開路與非門)來實(shí)現(xiàn),由于不用OC門可能使灌電流過大,而燒壞邏輯門,因此在輸出端口應(yīng)加一個上拉電阻。 1.20 IC設(shè)計中同步復(fù)位與異步復(fù)位的區(qū)別? 同步復(fù)位在時鐘沿采復(fù)位信號,完成復(fù)位動作。 異步復(fù)位不管時鐘,只要復(fù)位信號滿足
24、條件,就完成復(fù)位動作。異步復(fù)位對復(fù)位信號要求比較高,不能有毛刺,如果其與時鐘關(guān)系不確定,也可能出現(xiàn)亞穩(wěn)態(tài)。 1.21 MOORE 與 MEELEY狀態(tài)機(jī)的特征? Moore 狀態(tài)機(jī)的輸出僅與當(dāng)前狀態(tài)值有關(guān), 且只在時鐘邊沿到來時才會有狀態(tài)變化。 Mealy 狀態(tài)機(jī)的輸出不僅與當(dāng)前狀態(tài)值有關(guān), 而且與當(dāng)前輸入值有關(guān)。 1.
25、22 Latch和Register區(qū)別?行為描述中Latch如何產(chǎn)生? 本質(zhì)的區(qū)別在于:latch是電平觸發(fā),register是邊沿觸發(fā)。 register在同一時鐘邊沿觸發(fā)下動作,符合同步電路的設(shè)計思想,而latch則屬于異步電路設(shè)計,往往會導(dǎo)致時序分析困難,不適當(dāng)?shù)膽?yīng)用latch則會大量浪費(fèi)芯片資源。時序設(shè)計中盡量使用register觸發(fā)。行為描述中,如果對應(yīng)所有可能輸入條件,有的輸入沒有對應(yīng)明確的輸出,系統(tǒng)會綜合出latch。比如:/缺少else語句 always( a or b) begin if
26、(a=1) q <= b; end1.23 單片機(jī)上電后沒有運(yùn)轉(zhuǎn),首先要檢查什么? 首先應(yīng)該確認(rèn)電源電壓是否正常;接下來就是檢查復(fù)位引腳電壓是否正常;然后再檢查晶振是否起振了。 如果系統(tǒng)不穩(wěn)定的話,有時是因?yàn)殡娫礊V波不好導(dǎo)致的。在單片機(jī)的電源引腳跟地引腳之間接上一個0.1uF的電容會有所改善。如果電源沒有濾波電容的話,則需要再接一個更大濾波電容,例如220uF的。遇到系統(tǒng)不穩(wěn)定時,就可以并上電容試試(越靠近芯片越好)。 1.24 集成電路前端設(shè)計流程,寫出相關(guān)的工具。 1)代碼
27、輸入(design input) 用vhdl或者是verilog語言來完成器件的功能描述,生成hdl代碼 語言輸入工具:SUMMIT VISUALHDL MENTOR RENIOR 圖形輸入: composer(cadence); viewlogic (viewdraw)
28、 2)電路仿真(circuit simulation) 將vhd代碼進(jìn)行先前邏輯仿真,驗(yàn)證功能描述是否正確 數(shù)字電路仿真工具: Verolog:CADENCE Verolig-XL SYNOPSYS VCS MENTOR Modle-sim VHDL:CADEN
29、CE NC-vhdl SYNOPSYS VSS MENTOR Modle-sim 模擬電路仿真工具: ANTI HSpice pspice,spectre micro microwave: eesoft : hp3)邏輯綜合(synthesis
30、 tools) 邏輯綜合工具可以將設(shè)計思想vhd代碼轉(zhuǎn)化成對應(yīng)一定工藝手段的門級電路;將初級仿真中所沒有考慮的門沿(gates delay)反標(biāo)到生成的門級網(wǎng)表中,返回電路仿真階段進(jìn)行再仿真。最終仿真結(jié)果生成的網(wǎng)表稱為物理網(wǎng)表。第 2 章 時序約束 2.1 時序約束的概念和基本策略 時序約束主要包括周期約束,偏移約束,靜態(tài)時序路徑約束三種。通過附加時序約束可以綜合布線工具調(diào)整映射和布局布線,是設(shè)計達(dá)到時序要求。 策略:附加時序約束的一般策略是先附加全局約束,然后對快速和慢速例外路徑附加專門約束。
31、附加全局約束時,首先定義設(shè)計的所有時鐘,對各時鐘域內(nèi)的同步元件進(jìn)行分組,對分組附加周期約束,然后對FPGA/CPLD輸入輸出PAD附加偏移約束、對全組合邏輯的PAD TO PAD路徑附加約束。附加專門約束時,首先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其他特殊路徑。附加約束的作用:1、提高設(shè)計的工作頻率(減少了邏輯和布線延時);2、獲得正確的時序分析報告;(靜態(tài)時序分析工具以約束作為判斷時序是否滿足設(shè)計要求的標(biāo)準(zhǔn),因此要求設(shè)計者正確輸入約束,以便靜態(tài)時序分析工具可以正確的輸出時序報告)3、指定FPGA/CPLD的電氣標(biāo)準(zhǔn)和引腳位置。 2.2&
32、#160;FPGA設(shè)計中如何實(shí)現(xiàn)同步時序電路的延時? 首先說說異步電路的延時實(shí)現(xiàn):異步電路一半是通過加buffer、兩級與非門等,但這是不適合同步電路實(shí)現(xiàn)延時的。在同步電路中,對于比較大的和特殊要求的延時,一半通過高速時鐘產(chǎn)生計數(shù)器,通過計數(shù)器來控制延時;對于比較小的延時,可以通過觸發(fā)器打一拍,不過這樣只能延遲一個時鐘周期。 2.3 什么是同步邏輯和異步邏輯? 同步邏輯是時鐘之間有固定的因果關(guān)系。異步邏輯是各時鐘之間沒有固定的因果關(guān)系。 電路設(shè)計可分類為同步電路和異步電路設(shè)計。同步電路利用時鐘脈沖使其子系統(tǒng)同步運(yùn)作,而異步電路不使用
33、時鐘脈沖做同步,其子系統(tǒng)是使用特殊的“開始”和“完成”信號使之同步。由于異步電路具有下列優(yōu)點(diǎn)-無時鐘歪斜問題、低電源消耗、平均效能而非最差效能、模塊性、可組合和可復(fù)用性-因此近年來對異步電路研究增加快速,論文發(fā)表數(shù)以倍增,而Intel Pentium 4處理器設(shè)計,也開始采用異步電路設(shè)計。v異步電路主要是組合邏輯電路,用于產(chǎn)生地址譯碼器、或的讀寫控制信號脈沖,其邏輯輸出與任何時鐘信號都沒有關(guān)系,譯碼輸出產(chǎn)生的毛刺通常是可以監(jiān)控的。同步電路是由時序電路(寄存器和各種觸發(fā)器)和組合邏輯電路構(gòu)成的電路,其所有操作都是在嚴(yán)格的時鐘控制下完成的。這些時序電路共享同一個時鐘L,而所有的
34、狀態(tài)變化都是在時鐘的上升沿(或下降沿)完成的。 同步時序邏輯電路的特點(diǎn):各觸發(fā)器的時鐘端全部連接在一起,并接在系統(tǒng)時鐘端,只有當(dāng)時鐘脈沖到來時,電路的狀態(tài)才能改變。改變后的狀態(tài)將一直保持到下一個時鐘脈沖的到來,此時無論外部輸入有無變化,狀態(tài)表中的每個狀態(tài)都是穩(wěn)定的。 異步時序邏輯電路的特點(diǎn):電路中除可以使用帶時鐘的觸發(fā)器外,還可以使用不帶時鐘的觸發(fā)器和延遲元件作為存儲元件,電路中沒有統(tǒng)一的時鐘,電路狀態(tài)的改變由外部輸入的變化直接引起。 2.4 同步電路和異步電路的區(qū)別? 同步電路:存儲電路中所有觸發(fā)器的時鐘輸入端都接同一
35、個時鐘脈沖源,因而所有觸發(fā)器的狀態(tài)的變化都與所加的時鐘脈沖信號同步。 異步電路:電路沒有統(tǒng)一的時鐘,有些觸發(fā)器的時鐘輸入端與時鐘脈沖源相連,這有這些觸發(fā)器的狀態(tài)變化與時鐘脈沖同步,而其他的觸發(fā)器的狀態(tài)變化不與時鐘脈沖同步。 2.5 同步設(shè)計的原則 1、 盡可能使用同一時鐘,時鐘走全局時鐘網(wǎng)絡(luò)。多時鐘域采用“局部同步”。2、 避免使用緩和時鐘采樣數(shù)據(jù)。采用混合時鐘采用將導(dǎo)致Fmax小一倍。 3、 避免在模塊內(nèi)部使用計數(shù)器分頻所產(chǎn)生的時鐘。 4、 避免使用門控時鐘。組合電路會產(chǎn)生大量毛刺
36、,所以會在clk上產(chǎn)生毛刺導(dǎo)致FF誤翻轉(zhuǎn)。可以用時鐘始能代替門控時鐘。 2.6 時序設(shè)計的實(shí)質(zhì) 電路設(shè)計的難點(diǎn)在時序設(shè)計,時序設(shè)計的實(shí)質(zhì)就是滿足每一個觸發(fā)器的建立/保持時間的要求。 2.7 對于多位的異步信號如何進(jìn)行同步? 對一位的異步信號使用一位同步器,而對于多位的異步信號,可以采用如下方法:1:可以采用保持寄存器加握手信號的方法(多數(shù)據(jù),控制,地址);2:特殊的具體應(yīng)用電路結(jié)構(gòu),根據(jù)應(yīng)用的不同而不同;3:異步FIFO(最常用的緩存單元是DPRAM)。 2.8 什么是時鐘抖動? 時鐘抖動是指
37、芯片的某一個給定點(diǎn)上時鐘周期發(fā)生暫時性變化,也就是說時鐘周期在不同的周期上可能加長或縮短。它是一個平均值為0的平均變量。 2.9 建立時間與保持時間的概念? Setup/hold time 是測試芯片對輸入信號和時鐘信號之間的時間要求。 建立時間是指觸發(fā)器的時鐘信號上升沿到來以前,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時間。輸入信號應(yīng)提前時鐘沿T時間到達(dá)芯片,這個T就是建立時間-Setup time。如不滿足setup time,這個數(shù)據(jù)就不能被這一時鐘打入觸發(fā)器,只有在下一個時鐘沿,數(shù)據(jù)才能被打入觸發(fā)器。保持時間是指觸
38、發(fā)器的時鐘信號上升沿到來以后,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時間。如果hold time不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。 不考慮時鐘的skew,D2的建立時間不能大于(時鐘周期T - D1數(shù)據(jù)最遲到達(dá)時間T1max+T2max);保持時間不能大于(D1數(shù)據(jù)最快到達(dá)時間T1min+T2min);否則D2的數(shù)據(jù)將進(jìn)入亞穩(wěn)態(tài)并向后級電路傳播。 如果不滿足建立和保持時間的話,那么DFF將不能正確地采樣到數(shù)據(jù),將會出現(xiàn)metastability的情況。如果數(shù)據(jù)信號在時鐘沿觸發(fā)前后持續(xù)的時間均超過建立和保持時間,那么超過量就分別被稱為建立時間裕量和保持時
39、間裕量。 2.10 為什么觸發(fā)器要滿足建立時間和保持時間? 因?yàn)橛|發(fā)器內(nèi)部數(shù)據(jù)的形成是需要一定的時間的,如果不滿足建立和保持時間,觸發(fā)器將進(jìn)入亞穩(wěn)態(tài),進(jìn)入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不穩(wěn)定,在0和1之間變化,這時需要經(jīng)過一個恢復(fù)時間,其輸出才能穩(wěn)定,但穩(wěn)定后的值并不一定是你的輸入值。這就是為什么要用兩級觸發(fā)器來同步異步輸入信號。這樣做可以防止由于異步輸入信號對于本級時鐘可能不滿足建立保持時間而使本級觸發(fā)器產(chǎn)生的亞穩(wěn)態(tài)傳播到后面邏輯中,導(dǎo)致亞穩(wěn)態(tài)的傳播。 2.11 什么是亞穩(wěn)態(tài)?為什么兩級觸發(fā)器可以防止亞穩(wěn)態(tài)傳播? 亞穩(wěn)態(tài)是指觸發(fā)
40、器無法在某個規(guī)定的時間段內(nèi)到達(dá)一個可以確認(rèn)的狀態(tài)。使用兩級觸發(fā)器來使異步電路同步化的電路為一位同步器,用來對一位異步信號進(jìn)行同步。兩級觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理:假設(shè)第一級觸發(fā)器的輸入不滿足其建立保持時間,它在第一個脈沖沿到來后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個脈沖沿到來之前,其輸出的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復(fù)時間后必須穩(wěn)定下來,而且穩(wěn)定的數(shù)據(jù)必須滿足第二級觸發(fā)器的建立時間,如果都滿足了,在下一個脈沖沿到來時,第二級觸發(fā)器將不會出現(xiàn)亞穩(wěn)態(tài),因?yàn)槠漭斎攵说臄?shù)據(jù)滿足其建立保持時間。同步器有效的條件:第一級觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后的恢復(fù)時間+第二級觸發(fā)器的建立時間< =時鐘周期。 2
41、.12 如何防止亞穩(wěn)態(tài)? 亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定時間段內(nèi)達(dá)到一個可確認(rèn)的狀態(tài)。當(dāng)一個觸發(fā)器進(jìn)入亞穩(wěn)態(tài)時,既無法預(yù)測該單元的輸出電平,也無法預(yù)測何時輸出才能穩(wěn)定在某個正確的電平上。在這個穩(wěn)定期間,觸發(fā)器輸出一些中間級電平,或者可能處于振蕩狀態(tài),并且這種無用的輸出電平可以沿信號通道上的各個觸發(fā)器級聯(lián)式傳播下去。解決方法: 1 降低系統(tǒng)時鐘 2 用反應(yīng)更快的FF 3 引入同步機(jī)制,防止亞穩(wěn)態(tài)傳播 4 改善時鐘質(zhì)量,用邊沿變化快速的時鐘信號 關(guān)鍵是器件使用比較好的工藝和時鐘周期的裕量要
42、大。 2.13 系統(tǒng)最高速度計算(最快時鐘頻率)和流水線設(shè)計思想 同步電路的速度是指同步系統(tǒng)時鐘的速度,同步時鐘愈快,電路處理數(shù)據(jù)的時間間隔越短,電路在單位時間內(nèi)處理的數(shù)據(jù)量就愈大。假設(shè)Tco是觸發(fā)器的輸入數(shù)據(jù)被時鐘打入到觸發(fā)器到數(shù)據(jù)到達(dá)觸發(fā)器輸出端的延時時間;Tdelay是組合邏輯的延時;Tsetup是觸發(fā)器的建立時間。假設(shè)數(shù)據(jù)已被時鐘打入D觸發(fā)器,那么數(shù)據(jù)到達(dá)第一個觸發(fā)器的輸出端需要的延時時間是Tco,經(jīng)過組合邏輯的延時時間為Tdelay,然后到達(dá)第二個觸發(fā)器的端,要希望時鐘能在第二個觸發(fā)器再次被穩(wěn)定地打入觸發(fā)器,則時鐘的延遲必須大于TcoTdel
43、ayTsetup,也就是說最小的時鐘周期Tmin =TcoTdelayTsetup,即最快的時鐘頻率Fmax =1/Tmin。FPGA開發(fā)軟件也是通過這種方法來計算系統(tǒng)最高運(yùn)行速度Fmax。因?yàn)門co和Tsetup是由具體的器件工藝決定的,故設(shè)計電路時只能改變組合邏輯的延遲時間Tdelay,所以說縮短觸發(fā)器間組合邏輯的延時時間是提高同步電路速度的關(guān)鍵所在。由于一般同步電路都大于一級鎖存,而要使電路穩(wěn)定工作,時鐘周期必須滿足最大延時要求。故只有縮短最長延時路徑,才能提高電路的工作頻率??梢詫⑤^大的組合邏輯分解為較小的N塊,通過適當(dāng)?shù)姆椒ㄆ骄峙浣M合邏輯,然后在中間插入觸發(fā)器,
44、并和原觸發(fā)器使用相同的時鐘,就可以避免在兩個觸發(fā)器之間出現(xiàn)過大的延時,消除速度瓶頸,這樣可以提高電路的工作頻率。這就是所謂"流水線"技術(shù)的基本設(shè)計思想,即原設(shè)計速度受限部分用一個時鐘周期實(shí)現(xiàn),采用流水線技術(shù)插入觸發(fā)器后,可用N個時鐘周期實(shí)現(xiàn),因此系統(tǒng)的工作速度可以加快,吞吐量加大。注意,流水線設(shè)計會在原數(shù)據(jù)通路上加入延時,另外硬件面積也會稍有增加。 2.14 多時域設(shè)計中,如何處理信號跨時域? 建立和保持時間如果數(shù)據(jù)發(fā)生變化,就可能發(fā)生亞穩(wěn)態(tài)現(xiàn)象。一般來說,在單一時鐘域的設(shè)計中只要系統(tǒng)電路的fmax能夠保證,就可以避免亞穩(wěn)態(tài)的發(fā)生;但是在跨時鐘
45、域的時鐘的相位是異步的,亞穩(wěn)態(tài)將無法避免。此時,在跨時鐘設(shè)計時的解決亞穩(wěn)態(tài)的思想是:雖然亞穩(wěn)態(tài)無法避免,但可以對不同的時鐘域之間信號進(jìn)行同步處理,防止新時鐘域中第一級觸發(fā)器的亞穩(wěn)態(tài)信號對下級邏輯造成影響。使得在發(fā)生亞穩(wěn)態(tài)后系統(tǒng)仍然可以穩(wěn)定地工作。 單根信號下,對第2個時鐘用D觸發(fā)器打2拍就可以將亞穩(wěn)態(tài)的影響減少到可以忽略的地步。多根信號下:握手,速度太慢;異步FIFO;多相位/高頻時鐘多次采樣數(shù)據(jù)。 2.15 說說靜態(tài)、動態(tài)時序分析的優(yōu)缺點(diǎn)? 時序分析是允許用戶分析設(shè)計中所有邏輯的時序性能,并協(xié)助引導(dǎo)布局布線滿足設(shè)計中的時序分析要求。靜態(tài)時序分析是采用窮
46、盡分析方法來提取出整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤。它不需要輸入向量就能窮盡所有的路徑,且運(yùn)行速度很 快、占用內(nèi)存較少,不僅可以對芯片設(shè)計進(jìn)行全面的時序功能檢查,而且還可利用時序分析的結(jié)果來優(yōu)化設(shè)計,因此靜態(tài)時序分析已經(jīng)越來越多地被用到數(shù)字集成電 路設(shè)計的驗(yàn)證中。 動態(tài)時序模擬就是通常的仿真,因?yàn)椴豢赡墚a(chǎn)生完備的測試向量,覆蓋門級網(wǎng)表中的每一條路徑。因此在動態(tài)時序分析中,無法暴露一些路徑上可能存在的時序問題。2.16 給了r
47、eg的setup,hold時間,求中間組合邏輯的delay范圍 Delay < period - setup hold 2.17 時鐘周期T,觸發(fā)器D1的寄存器到輸出時間最大為T1max,最小為T1min。組合邏輯電路最大延遲為T2max,最小為T2min。問,觸發(fā)器D2的建立時間T3和保持時間應(yīng)滿足什么條件 T3setup>T+T2max,T3hold>T1min+T2min第 3
48、 章 RTL級設(shè)計 3.1 用VERILOG或VHDL寫一段代碼,實(shí)現(xiàn)消除一個glitch? 將傳輸過來的信號經(jīng)過兩級觸發(fā)器就可以消除毛刺。 3.2 阻塞式賦值和非組塞式賦值的區(qū)別? 非阻塞賦值:塊內(nèi)的賦值語句同時賦值,一般用在時序電路描述中,同時執(zhí)行。 阻塞賦值:完成該賦值語句后才做下一句的操作,一般用在組合邏輯描述中,順序執(zhí)行。 3.3 用FSM實(shí)現(xiàn)101101的序列檢測模塊。 a為輸入端,b為輸出端,如果a連續(xù)輸入為1101則b輸出為1,否則為0。 例如a:&
49、#160;10100100110 b: 請畫出state machine;請用RTL描述其state machine。 狀態(tài)分配: idle:000 st0:001 st1:011 st2:010 st3:110 3.4 用verilog/vhdl寫一個fifo控制器(包括空,滿,半滿信號)。 regN-1:0 memory0:M1; 定義FIFO為N位字長容量M 八個alwa
50、ys模塊實(shí)現(xiàn),兩個用于讀寫FIFO,兩個用于產(chǎn)生頭地址head和尾地址tail,一個產(chǎn)生counter計數(shù),剩下三個根據(jù)counter的值產(chǎn)生空,滿,半滿信號產(chǎn)生空,滿,半滿信號。 3.5 用D觸發(fā)器實(shí)現(xiàn)2分頻的Verilog描述?module divide2( clk , clk_o, reset); input clk , reset; output cl
51、k_o; wire in; reg out always ( posedge clk or posedge reset) if ( reset) out <= 0; else
52、 out <= in; assign in = out; assign clk_o = out; endmodule 3.6 用D觸發(fā)器做個二分頻的電路?
53、畫出邏輯電路? D觸發(fā)器的輸出Q取反接到輸入,輸出作為二分頻輸出。 顯示工程設(shè)計中一般不采用這樣的方式來設(shè)計,二分頻一般通過DCM或PLL來實(shí)現(xiàn)。通過DCM或者PLL得到的分頻信號沒有相位差。 3.7 描述一個交通信號燈的設(shè)計。 module traffic 3.8 設(shè)計一個自動飲料售賣機(jī),飲料10分錢,硬幣有5分和10分兩種,并考慮找零,1.畫出fsm(有限狀態(tài)機(jī))2.用verilog編程,語法要符合fpga設(shè)計的要求3.設(shè)計工程中可使用的工具及設(shè)計大致過程 (1)點(diǎn)路變量分析:投入5分硬幣為一個變量,
54、定義為A,為輸入;投入10分硬幣為一個變量,定義為B,為輸入;售貨機(jī)給出飲料為一變量,定義為Y,為輸出;售貨機(jī)找零為一變量,定義為Z,為輸出。 (2)狀態(tài)確定:電路共有兩個狀態(tài):狀態(tài)S0,表示未投入任何硬幣;狀態(tài)S1,表示投入了5分硬幣。 (3)設(shè)計過程:設(shè)當(dāng)前為S0狀態(tài),當(dāng)接收到5分硬幣時,轉(zhuǎn)換到S1狀態(tài),等待繼續(xù)投入硬幣;當(dāng)接收到10分硬幣時,保持S0狀態(tài),彈出飲料,不找零。當(dāng)前狀態(tài)為S1時,表示已經(jīng)有5分硬幣,若再接收5分硬幣,轉(zhuǎn)換到S0狀態(tài),彈出飲料,不找零;若接收到10分硬幣,轉(zhuǎn)換到S0狀態(tài),彈出飲料,找零。 所用設(shè)計工具:Quartus II
55、,modelsim第 4 章 名詞解釋 4.1 sram,falsh memory及dram的區(qū)別? sram:靜態(tài)隨機(jī)存儲器,存取速度快,但容量小,掉電后數(shù)據(jù)會丟失,不像DRAM 需要不停的REFRESH,制造成本較高,通常用來作為快取(CACHE) 記憶體使用 flash:閃存,存取速度慢,容量大,掉電后數(shù)據(jù)不會丟失 dram:動態(tài)隨機(jī)存儲器,必須不斷的重新的加強(qiáng)(REFRESHED) 電位差量,否則電位差將降低至無法有足夠的能量表現(xiàn)每一個記憶單位處于何種狀態(tài)。價格比sram便宜,但訪問速度較慢,耗電量較大,常用作計算機(jī)的內(nèi)存使用。 SSRAM:Synchronous Static Random Acc
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 不銹鋼欄桿安裝與社區(qū)安全防范系統(tǒng)合同
- 施工現(xiàn)場清理服務(wù)合同5篇
- 美術(shù)的英語課件
- 安全生產(chǎn)目標(biāo)指什么
- 冬季安全心得體會300字
- 小學(xué)安全副校長述職報告
- 鋼鐵公司安全培訓(xùn)心得體會
- 安全環(huán)保知識學(xué)習(xí)
- 四川省安全生產(chǎn)管理
- 醫(yī)院消防安全巡查記錄表范本
- l輻射安全管理制度
- 2025至2030中國寵物垃圾袋行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 健康評估(第3版)課件6-2 泌尿系統(tǒng)常見癥狀評估
- 水資源論證管理制度
- 麻醉中的人文關(guān)懷
- 餐廚廢棄食用油脂管理制度
- 2025年云南省時事政治考試試卷帶解析附完整答案(考點(diǎn)梳理)
- 貴州省黔東南州2024-2025學(xué)年高二下冊期末教學(xué)質(zhì)量檢測數(shù)學(xué)試卷(附答案)
- 武漢大學(xué)2020年強(qiáng)基計劃物理試題(解析版)
- 2024年海原縣社區(qū)專職工作者招聘考試真題
- 人工智能在畜牧業(yè)中的應(yīng)用研究-洞察闡釋
評論
0/150
提交評論