


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、=1 章 FPGA基礎知識 二=1.1 FPGA設計工程師努力的方向SOPC高速串行I/O,低功耗,可靠性,可測試性和設計驗證流程的 優(yōu)化等方面。隨著芯片工藝的提高,芯片容量、集成度都在增加,F(xiàn)PGA 設計也朝著高速、高度集成、低功耗、高可靠性、高可測、可驗證性 發(fā)展。芯片可測、可驗證,正在成為復雜設計所必備的條件,盡量在 上板之前查出bug,將發(fā)現(xiàn)bug的時間提前,這也是一些公司花大力 氣設計仿真平臺的原因。另外隨著單板功能的提高、成本的壓力,低 功耗也逐漸進入FPGA設計者的考慮圍,完成相同的功能下,考慮如 何能夠使芯片的功耗最低。高速串行IO的應用,也豐富了 FPGA的應 用圍,象xil
2、inx的v2pro中的高速鏈路也逐漸被應用。總之,學無止境,當掌握一定概念、方法之后,就要開始考慮FPGA其它方面的問題了。1.2簡述FPGA等可編程邏輯器件設計流程系統(tǒng)設計電路構思,設計說明與設計劃分,電路設計與輸入( HDL代 碼、原理圖),功能仿真與測試,邏輯綜合,門級綜合,邏輯驗證與 測試(綜合后仿真),布局布線,時序仿真,板級驗證與仿真,加載 配置,在線調試。 常用開發(fā)工具(Altera FPGAHDL語言輸入:Text Editor (HDL語言輸入),還可以使用Ultra Edit原理圖輸入:Schematic Editor IP Cor輸入:MegaWinzad綜合工具:Syn
3、plify/Synplify Pro, Qaustus II嵌綜合工具 仿真工具:ModelSim實現(xiàn)與優(yōu)化工具:Quartus II集成的實現(xiàn)工具有 Assignment Editor (約 束編輯器)、LogicLocK邏輯鎖定工具)、PowerFit Fitter(布局布線器)、 Timing Analyzer(時序分析器,STA分析工具)、Floorplan Editor (布局 規(guī)劃器)、Chip Editor (底層編輯器)、Design Space ExploreK設計空 間管理器)、Design Assistant(檢查設計可靠性)等。后端輔助工具: Assembler (編程
4、文件生成工具),Programmer (下載編程工具), PowerGauge (功耗仿真器)調試工具:SignalTapl(在線邏輯分析儀),SignalProb(信號探針)。系 統(tǒng)級設計環(huán)境:SOPC Buildej DSP Builder Software Builder。1.3 Quartus文件管理1. 編譯必需的文件:設計文件(.gdf、.bdf、EDIF輸入文件、.tdf、verilog 設計文件、.vqm、.vt、VHDL設計文件、.vht)、存儲器初始化文件(.mif、.rif、.hex)、配置文件(.qsf、.tel)、工程文件(.qpf)。2. 編譯過程中生成的中間文件(
5、.eqn文件和db目錄下的所有文 件.tdf, .hdb, .xml等)3.編譯結束后生成的報告文件(.rpt、.qsmg 等)4.根據(jù)個人使用習慣生成的界面配置文件( .qws等)5.編程文件(.sof、.pof、.ttf 等)1.4 IC設計流程(仿真,設寫出一份設計規(guī),設計規(guī)評估,選擇芯片和工具,設計,計評估,綜合,布局和布線,仿真和整體檢驗)檢驗,最終評估,系 統(tǒng)集成與測試,產品運輸。設計規(guī)則:使用自上而下的設計方法(行 為級,寄存器傳輸級,門電路級),按器件的結構來工作,做到同步 設計,防止亞穩(wěn)態(tài)的出現(xiàn),避免懸浮的節(jié)點,避免總線的爭搶(多個 輸出端同時驅動同一個信號)。設計測試(DF
6、T強調可測試性應該是設計目標的核心,目的是排除 一個芯片的設計缺陷,捕獲芯片在物理上的缺陷問題。ASIC設計要求提供測試結構和測試系向量。FPGA等默認生產廠商已經進行了適當?shù)臏y試。測試的10/10原則:測試電路的規(guī)模不要超過 整個FPGA的10%,花費在設計和仿真測試邏輯上的時間不應超過設 計整個邏輯電路的10%。1.5 FPGA基本結構可編程輸入/輸出單元,基本可編程邏輯單元,嵌入式塊 RAM,豐富 的布線資源,底層嵌入式功能單元,嵌專用硬核。常用的電氣標準有 LVTTL, LCCMOS,SSTL,HSTL,LVDS,LVPE 等L,PCIFPGA懸浮的總線會增加系統(tǒng)的噪聲,增加功率的損耗
7、,并且具有潛 在的產生不穩(wěn)定性的問題,解決方案是加上拉電阻。對于SRAM型器件,路徑是通過編程多路選擇器實現(xiàn); 對于反熔絲型 器件,路徑通過傳導線(高阻抗,有 RC延時)來實現(xiàn)的。這兩種結 構都顯著加大了路徑延時。1.6 FPGA選型時要考慮哪些方面?需要的邏輯資源、應用的速度要求,功耗,可靠性,價格,開發(fā)環(huán)境 和開發(fā)人員的熟悉程度。1.7同步設計的規(guī)則單個時鐘域:1、所有的數(shù)據(jù)都要通過組合邏輯和延時單元,典型的延時單元是觸 發(fā)器,這些觸發(fā)器被一個時鐘信號所同步;2、延時總是由延時單元來控制,而不是由組合邏輯來控制;3、組合邏輯所產生的信號不能在沒有通過一個同步延時單元的情況 下反饋回到同一個
8、組合邏輯;4、時鐘信號不能被門控,必須直接到達延時單元的時鐘輸入端,而不是經過任何組合邏輯;5、數(shù)據(jù)信號必須只通向組合邏輯或延時單 元的數(shù)據(jù)輸入端。多個時鐘域:把通過兩個不同時鐘作用區(qū)域之間的信號作為異步信號處理1.8你所知道的可編程邏輯器件有哪些?PAL/GAL CPLD FPGAPLA可編程邏輯陣列,一種用于大規(guī)模的與陣列和或陣列的邏輯器 件,用于實現(xiàn)布爾邏輯的不同組合。PLA可編程陣列邏輯,一種邏輯器件,由大規(guī)模的與陣列和規(guī)模小且數(shù)量固定的或門組成,可用于實現(xiàn)布爾邏輯和狀態(tài)機。PAL很短的交貨時間、可編程的、沒有NRE(非循環(huán)工程)費用門陣列:高密度性、能實現(xiàn)許多邏輯函數(shù)、速度相對較快1
9、.9 FPGA ASIC CPLD勺概念及區(qū)別FPGA(Field Programmable Gate Array 是可編程 ASICASIC專用集成電路,它是面向專門用途的電路,專門為一個用戶設計 和制造的。根據(jù)一個用戶的特定要求,能以低研制成本,短、交貨周 期供貨的全定制,半定制集成電路。與門陣列等其它 ASIC(Applicatio n Specific IC相比,它們又具有設計開發(fā)周期短、設計 制造成本低、開發(fā)工具先進、標準產品無需測試、質量穩(wěn)定以及可實 時在線檢驗等優(yōu)點。FPGA采用同步時鐘設計,使用全局時鐘驅動,采用時鐘驅動方式在 各級專用布線資源上靈活布線,ASIC有時采用異步邏
10、輯,一般采用門 控時鐘驅動,一旦設計完成,其布線是固定的。FPGA比ASIC開發(fā)周期短,成本低,設計靈活。CPLD( Complex Programmable Logic Device 是復雜可編程邏輯器件。CPLD開關矩陣路徑設計的一個優(yōu)點是信號通過芯片的延時時間是確 定的。設計者通過計算經由功能模塊、I/O模塊和開關矩陣的延遲就 可以任何信號的延遲時間,并且信號沿金屬線傳遞所引起的延遲是 可忽略的CPLDFPGA內部結構Product-termLook-up Table程序存儲內部EEPROMSRAM,外掛 EEPROM資源類型組合電路資源豐富觸發(fā)器資源豐富集成度低咼使用場合完成控制邏輯能
11、完成比較復雜的算袪速度慢快其他資源PLL. RAM和乘袪器等保密性可加密一般不能保密1.10鎖存器(latch)和觸發(fā)器(flip-flop )區(qū)別?電平敏感的存儲器件稱為鎖存器,可分為高電平鎖存器和低電平鎖存器,用于不同時鐘 之間的信號同步 由交叉耦合的門構成的雙穩(wěn)態(tài)的存儲原件稱為觸發(fā)器。分為上升沿觸 發(fā)和下降沿觸發(fā)。可以認為是兩個不同電平敏感的鎖存器串連而成。前一個鎖存器決定了觸發(fā)器的建立時間,后一個鎖存器則決定了保持時間。鎖存器對脈沖電平敏感,在時鐘脈沖的電平作用下改變狀態(tài)。鎖存器是電平觸發(fā)的存儲單元,數(shù)據(jù)存儲的動作取決于輸入時鐘(或 者使能)信號的電平值,僅當鎖存器處于使能狀態(tài)時,輸出
12、才會隨著 數(shù)據(jù)輸入發(fā)生變化。鎖存器不同于觸發(fā)器,它不在鎖存數(shù)據(jù)時,輸出端的信號隨輸入信號 變化,就像信號通過一個緩沖器一樣;一旦鎖存信號起鎖存作用,則 數(shù)據(jù)被鎖住,輸入信號不起作用。鎖存器也稱為透明鎖存器,指的是 不鎖存時輸出對于輸入是透明的。應用場合:數(shù)據(jù)有效遲后于時鐘信號有效。這意味著時鐘信號先到, 數(shù)據(jù)信號后到。在某些運算器電路中有時采用鎖存器作為數(shù)據(jù)暫存缺點:時序分析較困難。不要鎖存器的原因:1、鎖存器容易產生毛刺,2、鎖存器在ASIC設 計中應該說比ff要簡單,但是在FPGA的資源中,大部分器件沒有鎖 存器這個東西,所以需要用一個邏輯門和ff來組成鎖存器,這樣就浪 費了資源。優(yōu)點:面
13、積小。鎖存器比FF快,所以用在地址鎖存是很合適的,不 過一定要保證所有的latch信號源的質量,鎖存器在CPU設計中很常 見,正是由于它的應用使得 CPU的速度比外部IO部件邏輯快許多。 latch完成同一個功能所需要的門較觸發(fā)器要少,所以在 asic中用的 較多。寄存器用來存放數(shù)據(jù)的一些小型存儲區(qū)域, 用來暫時存放參與運算的 數(shù)據(jù)和運算結果,它被廣泛的用于各類數(shù)字系統(tǒng)和計算機中。其實寄存器就是一種常用的時序邏輯電路,但這種時序邏輯電路只包含存儲 電路。寄存器的存儲電路是由鎖存器或觸發(fā)器構成的,因為一個鎖存器或觸發(fā)器能存儲1位二進制數(shù),所以由N個鎖存器或觸發(fā)器可以構 成N位寄存器。工程中的寄存
14、器一般按計算機中字節(jié)的位數(shù)設計, 所以一般有8位寄存器、16位寄存器等。對寄存器中的觸發(fā)器只要求它們具有置 1置0的功能即可,因而無 論是用同步RS結構觸發(fā)器,還是用主從結構或邊沿觸發(fā)結構的觸發(fā) 器,都可以組成寄存器。一般由 D觸發(fā)器組成,有公共輸入/輸出使 能控制端和時鐘,一般把使能控制端作為寄存器電路的選擇信號,把時鐘控制端作為數(shù)據(jù)輸入控制信號。寄存器的應用1. 可以完成數(shù)據(jù)的并串、串并轉換;2可以用做顯示數(shù)據(jù)鎖存器:許多設備需要顯示計數(shù)器的記數(shù)值,以 8421BCD碼記數(shù),以七段顯示器顯示,如果記數(shù)速度較高,人眼則無 法辨認迅速變化的顯示字符。在計數(shù)器和譯碼器之間加入一個鎖存器, 控制數(shù)
15、據(jù)的顯示時間是常用的方法。3用作緩沖器;4.組成計數(shù)器:移位寄存器可以組成移位型計數(shù)器, 如環(huán)形或扭環(huán)形 計數(shù)器。1.11 JTAG言號TCK測試時鐘輸入,用于移位控制,上升沿將測試指令、測試數(shù)據(jù) 和控制輸入信號移入芯片;下降沿時將數(shù)據(jù)從芯片移出。TMS:測試模式選擇,串行輸入端,用于控制芯片部的JTAG犬態(tài)機。TDI:測試數(shù)據(jù)輸入,串行輸入端,用于指令和編程數(shù)據(jù)的輸入,在 時鐘上升沿,數(shù)據(jù)被捕獲。TDO:測試數(shù)據(jù)輸出,串行輸出端,時鐘下降沿,數(shù)據(jù)被驅動輸出。TRST 測試復位輸入(僅用于擴展 JTAG,異步、低電平有效,用于 JTAG 初始化時。1.12 FPGA芯片有哪兩種存儲器資源?FP
16、GA芯片有兩種存儲器資源:一種叫block ram,另一種是由LUT配置 成的部存儲器(也就是分布式 ram, distribute ram)。Block ram由一 定數(shù)量固定大小的存儲塊構成的,使用 BLOCK RAM資源不占用額外 的邏輯資源,并且速度快。但是使用的時候消耗的 BLOCK RAM資源 是其塊大小的整數(shù)倍。1.13 FPGA中可以綜合實現(xiàn)為 RAM/ROM/CAM的三種資源及其注意事項?三種資源:block ram、觸發(fā)器(FF)、查找表(LUT ;注意事項:1、在生成RAM等存儲單元時,應該首選block ram資源;原因有二: 使用block ram等資源,可以節(jié)約更多
17、的FF和4-LUT等底層可編程單 元,最大程度發(fā)揮器件效能,節(jié)約成本; block ram是一種可以配置 的硬件結構,其可靠性和速度與用 LUT和register構建的存儲器更有 優(yōu)勢。2、弄清FPGA的硬件結構,合理使用block ram資源;3、分析block ram容量,高效使用block ram資源和分布式ram資源 (distribute ram )。1.14 FPGA設計中對時鐘的使用?(例如分頻等)FPGA芯片有固定的時鐘路由,這些路由能有減少時鐘抖動和偏差。 需要對時鐘進行相位移動或變頻的時候,一般不允許對時鐘進行邏輯 操作,這樣不僅會增加時鐘的偏差和抖動,還會使時鐘帶上毛刺。
18、一 般的處理方法是采用FPGA芯片自帶的時鐘管理器如PLLDLL或DCM, 或者把邏輯轉換到觸發(fā)器的 D輸入。1.15 Xili nx中與全局時鐘資源和DLL相關的硬件原語常用的與全局時鐘資源相關的 Minx器件原語包括:BUFG, IBUFGDS, BUFG, BUFGPFGCE, BUFGMUX, BUFGDLL, D等M1.16 HDL語言的層次概念?HDL語言是分層次的、類型的,最常用的層次概念有系統(tǒng)與標準級、 功能模塊級,行為級,寄存器傳輸級和門級。1.17查找表的原理與結構?查找表(look-up-table)簡稱為LUT,本質上是一個 RAM。目前FPGA 中多使用4輸入的LUT
19、所以每一個LUT可以看成一個有4位地址線 的16x1的RAM。當用戶通過原理圖或HDL語言描述了一個邏輯電路 以后,PLD/FPGA開發(fā)軟件會自動計算邏輯電路的所有可能的結果, 并把結果事先寫入RAM,每輸入一個信號進行邏輯運算就等于輸入 一個地址進行查表,找出地址對應的容,然后輸出。1.18 IC設計前端到后端的流程和 EDA工具?設計前端也稱邏輯設計,后端設計也稱物理設計,兩者并沒有嚴格的 界限,一般涉及到與工藝有關的設計就是后端設計。1:規(guī)格制定:客戶向芯片設計公司提出設計要求。2:詳細設計:芯片設計公司(FablesS根據(jù)客戶提出的規(guī)格要求,拿出設計解決方案和具體實現(xiàn)架構,劃分模塊功能
20、。目前架構的驗證一般基于system C仿真可以使用 system C的仿真工具,CoCentric 和 Visual Elite等。3: HDL編碼:設計輸入工具:ultra,visual VHDL等4:仿真驗證: modelsim 5: 邏輯綜合: syn plify6:靜態(tài)時序分析:synopsys的Prime Time 7:形式驗證:Synopsys的 Formality.1.19什么是“線與”邏輯,要實現(xiàn)它,在硬件特性上有什么具體要求? 線與邏輯是兩個輸出信號相連可以實現(xiàn)與的功能。在硬件上,要用 OC門(集電極開路與非門)來實現(xiàn),由于不用0C門可能使灌電流過 大,而燒壞邏輯門,因此在
21、輸出端口應加一個上拉電阻。1.20 IC設計中同步復位與異步復位的區(qū)別?同步復位在時鐘沿采復位信號,完成復位動作。異步復位不管時鐘,只要復位信號滿足條件,就完成復位動作。異步 復位對復位信號要求比較高,不能有毛刺,如果其與時鐘關系不確定,也可能出現(xiàn)亞穩(wěn)態(tài)。1.21 MOORE與MEELEY犬態(tài)機的特征?Moore狀態(tài)機的輸出僅與當前狀態(tài)值有關,且只在時鐘邊沿到來時才會有狀態(tài)變化。Mealy狀態(tài)機的輸出不僅與當前狀態(tài)值有關,而且與當前輸入值有關。1.22 Latch和Register區(qū)別?行為描述中Latch如何產生?本質的區(qū)別在于:latch是電平觸發(fā),register是邊沿觸發(fā)。regist
22、er在同一時鐘邊沿觸發(fā)下動作,符合同步電路的設計思想,而 latch則屬于異步電路設計,往往會導致時序分析困難,不適當?shù)膽?用latch則會大量浪費芯片資源。時序設計中盡量使用register觸發(fā)行為描述中,如果對應所有可能輸入條件,有的輸入沒有對應明確的 輸出,系統(tǒng)會綜合出latch。比如:/缺少else語句always( a or b)beg inif(a=1) q <= b;end1.23單片機上電后沒有運轉,首先要檢查什么? 首先應該確認電源電壓是否正常;接下來就是檢查復位引腳電壓是否 正常;然后再檢查晶振是否起振了。如果系統(tǒng)不穩(wěn)定的話,有時是因為電源濾波不好導致的。在單片機的
23、電源引腳跟地引腳之間接上一個 0.1uF的電容會有所改善。如果電源 沒有濾波電容的話,則需要再接一個更大濾波電容,例如 220uF的 遇到系統(tǒng)不穩(wěn)定時,就可以并上電容試試(越靠近芯片越好) 。1.24集成電路前端設計流程,寫出相關的工具。1) 代碼輸入(desig n in put)用vhdl或者是verilog語言來完成器件的功能描述,生成hdl代碼語言輸 入工具:SUMMIT VISUALHDL MENTOR RENI圖R形 輸 入:composer(cade nee);viewlogic (viewdraw)2) 電路仿真(circuit simulation)將vhd代碼進行先前邏輯仿
24、真,驗證功能描述是否正確數(shù)字電路仿真工具:Verolog:CADENCE Verolig-XL SYNOPSYS VCS MENTOR Modle-sim : VHDLCADENCE NC-vhdl SYN OPS YS VSS MENTORMod模擬sift路仿真工具:ANTI HSpice pspice spectre micro microwave: eesoft : hp3) 邏輯綜合(synthesis tools)邏輯綜合工具可以將設計思想vhd代碼轉化成對應一定工藝手段的 門級電路;將初級仿真中所沒有考慮的門沿(gates delay)反標到生成的門級網(wǎng)表中,返回電路仿真階段進行
25、再仿真。最終仿真結果生成的網(wǎng)表稱為物理網(wǎng)表。第2章時序約束2.1時序約束的概念和基本策略時序約束主要包括周期約束,偏移約束,靜態(tài)時序路徑約束三種。通過附加時序約束可以綜合布線工具調整映射和布局布線,是設計達到 時序要求。策略:附加時序約束的一般策略是先附加全局約束, 然后對快速和慢 速例外路徑附加專門約束。附加全局約束時,首先定義設計的所有時 鐘,對各時鐘域的同步元件進行分組,對分組附加周期約束,然后對FPGA/CPL爾入輸出PAD附加偏移約束、對全組合邏輯的PAD TO PAD路徑附加約束。附加專門約束時,首先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其他特殊路徑。附加約
26、束的作用:1、提高設計的工作頻率(減少了邏輯和布線延時);2、獲得正確的時序分析報告;(靜態(tài)時序分析工具以約束作為判斷時序是否滿足設計要求的標準,因此要求設計者正確輸入約束,以便靜態(tài)時序分析工具可以正確的輸出時序報告)3、指定FPGA/CPLD勺電氣標準和引腳位置。22 FPGA設計中如何實現(xiàn)同步時序電路的延時?首先說說異步電路的延時實現(xiàn): 異步電路一半是通過加buffer、兩級 與非門等,但這是不適合同步電路實現(xiàn)延時的。在同步電路中,對于 比較大的和特殊要求的延時,一半通過高速時鐘產生計數(shù)器,通過計 數(shù)器來控制延時;對于比較小的延時,可以通過觸發(fā)器打一拍,不過 這樣只能延遲一個時鐘周期。2.
27、3什么是同步邏輯和異步邏輯?同步邏輯是時鐘之間有固定的因果關系。異步邏輯是各時鐘之間沒有 固定的因果關系。 電路設計可分類為同步電路和異步電路設計。同 步電路利用時鐘脈沖使其子系統(tǒng)同步運作, 而異步電路不使用時鐘脈 沖做同步,其子系統(tǒng)是使用特殊的“開始”和“完成”信號使之同步。 由于異步電路具有下列優(yōu)點-無時鐘歪斜問題、低電源消耗、平均效 能而非最差效能、模塊性、可組合和可復用性 -因此近年來對異步電 路研究增加快速,論文發(fā)表數(shù)以倍增,而Intel Pentium 4處理器設計, 也開始采用異步電路設計。v異步電路主要是組合邏輯電路,用于產 生地址譯碼器、FIFO或RAM的讀寫控制信號脈沖,
28、其邏輯輸出 與任何時鐘信號都沒有關系,譯碼輸出產生的毛刺通常是可以監(jiān)控的。 同步電路是由時序電路(寄存器和各種觸發(fā)器)和組合邏輯電路構成的 電路,其所有操作都是在嚴格的時鐘控制下完成的。這些時序電路共享同一個時鐘C LK,而所有的狀態(tài)變化都是在時鐘的上升沿(或下降 沿)完成的。同步時序邏輯電路的特點:各觸發(fā)器的時鐘端全部連接在一起,并接 在系統(tǒng)時鐘端,只有當時鐘脈沖到來時,電路的狀態(tài)才能改變。改變 后的狀態(tài)將一直保持到下一個時鐘脈沖的到來, 此時無論外部輸入有 無變化,狀態(tài)表中的每個狀態(tài)都是穩(wěn)定的。異步時序邏輯電路的特點:電路中除可以使用帶時鐘的觸發(fā)器外, 還 可以使用不帶時鐘的觸發(fā)器和延遲元
29、件作為存儲元件, 電路中沒有統(tǒng) 一的時鐘,電路狀態(tài)的改變由外部輸入的變化直接引起。2.4同步電路和異步電路的區(qū)別?同步電路:存儲電路中所有觸發(fā)器的時鐘輸入端都接同一個時鐘脈 沖源,因而所有觸發(fā)器的狀態(tài)的變化都與所加的時鐘脈沖信號同步。 異步電路:電路沒有統(tǒng)一的時鐘,有些觸發(fā)器的時鐘輸入端與時鐘脈 沖源相連,這有這些觸發(fā)器的狀態(tài)變化與時鐘脈沖同步, 而其他的觸 發(fā)器的狀態(tài)變化不與時鐘脈沖同步。2.5同步設計的原則1、盡可能使用同一時鐘,時鐘走全局時鐘網(wǎng)絡。多時鐘域采用“局咅B(yǎng)同步”。2、 避免使用緩和時鐘采樣數(shù)據(jù)。采用混合時鐘采用將導致Fmax小 一倍。3、避免在模塊部使用計數(shù)器分頻所產生的時鐘
30、。4、避免使用門控時鐘。組合電路會產生大量毛刺,所以會在elk上產生毛刺導致FF誤翻轉??梢杂脮r鐘始能代替門控時鐘2.6時序設計的實質電路設計的難點在時序設計,時序設計的實質就是滿足每一個觸發(fā)器 的建立/保持時間的要求。2.7對于多位的異步信號如何進行同步?對一位的異步信號使用一位同步器,而對于多位的異步信號,可以采 用如下方法:1:可以采用保持寄存器加握手信號的方法(多數(shù)據(jù), 控制,地址);2:特殊的具體應用電路結構,根據(jù)應用的不同而不同; 3:異步FIFO(最常用的緩存單元是 DPRAM)。2.8什么是時鐘抖動?時鐘抖動是指芯片的某一個給定點上時鐘周期發(fā)生暫時性變化,也 就是說時鐘周期在不
31、同的周期上可能加長或縮短。它是一個平均值為0的平均變量2.9建立時間與保持時間的概念?Setup/hold time是測試芯片對輸入信號和時鐘信號之間的時間要求。 建立時間是指觸發(fā)器的時鐘信號上升沿到來以前,其數(shù)據(jù)輸入端的數(shù) 據(jù)必須保持不變的時間。輸入信號應提前時鐘沿T時間到達芯片,這 個T就是建立時間-Setup time。如不滿足setup time,這個數(shù)據(jù)就不 能被這一時鐘打入觸發(fā)器,只有在下一個時鐘沿,數(shù)據(jù)才能被打入觸 發(fā)器。保持時間是指觸發(fā)器的時鐘信號上升沿到來以后,其數(shù)據(jù)輸入端的數(shù) 據(jù)必須保持不變的時間。如果 hold time不夠,數(shù)據(jù)同樣不能被打入 觸發(fā)器。不考慮時鐘的ske
32、w, D2的建立時間不能大于(時鐘周期 T - D1數(shù)據(jù) 最遲到達時間T1max+T2maX;保持時間不能大于(D1數(shù)據(jù)最快到達 時間T1min+T2min);否則D2的數(shù)據(jù)將進入亞穩(wěn)態(tài)并向后級電路傳 播。如果不滿足建立和保持時間的話,那么DFF將不能正確地采樣到數(shù)據(jù), 將會出現(xiàn)metastability的情況。如果數(shù)據(jù)信號在時鐘沿觸發(fā)前后持續(xù) 的時間均超過建立和保持時間,那么超過量就分別被稱為建立時間裕 量和保持時間裕量。2.10為什么觸發(fā)器要滿足建立時間和保持時間?因為觸發(fā)器部數(shù)據(jù)的形成是需要一定的時間的, 如果不滿足建立和保 持時間,觸發(fā)器將進入亞穩(wěn)態(tài),進入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不穩(wěn)定,
33、 在0和1之間變化,這時需要經過一個恢復時間,其輸出才能穩(wěn)定, 但穩(wěn)定后的值并不一定是你的輸入值。這就是為什么要用兩級觸發(fā)器 來同步異步輸入信號。這樣做可以防止由于異步輸入信號對于本級時 鐘可能不滿足建立保持時間而使本級觸發(fā)器產生的亞穩(wěn)態(tài)傳播到后 面邏輯中,導致亞穩(wěn)態(tài)的傳播。2.11什么是亞穩(wěn)態(tài)?為什么兩級觸發(fā)器可以防止亞穩(wěn)態(tài)傳播? 亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定的時間段到達一個可以確認的狀 態(tài)。使用兩級觸發(fā)器來使異步電路同步化的電路為一位同步器,用來對一位異步信號進行同步。兩級觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理:假 設第一級觸發(fā)器的輸入不滿足其建立保持時間,它在第一個脈沖沿到 來后輸出的數(shù)據(jù)就為亞
34、穩(wěn)態(tài),那么在下一個脈沖沿到來之前,其輸出 的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復時間后必須穩(wěn)定下來,而且穩(wěn)定的數(shù)據(jù)必須 滿足第二級觸發(fā)器的建立時間,如果都滿足了,在下一個脈沖沿到來 時,第二級觸發(fā)器將不會出現(xiàn)亞穩(wěn)態(tài),因為其輸入端的數(shù)據(jù)滿足其建 立保持時間。同步器有效的條件:第一級觸發(fā)器進入亞穩(wěn)態(tài)后的恢復 時間+第二級觸發(fā)器的建立時間v二時鐘周期。2.12如何防止亞穩(wěn)態(tài)?亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定時間段達到一個可確認的狀態(tài)。當一個觸發(fā)器進入亞穩(wěn)態(tài)時,既無法預測該單元的輸出電平,也無法預 測何時輸出才能穩(wěn)定在某個正確的電平上。在這個穩(wěn)定期間,觸發(fā)器輸出一些中間級電平,或者可能處于振蕩狀態(tài),并且這種無用的輸出
35、電平可以沿信號通道上的各個觸發(fā)器級聯(lián)式傳播下去。解決方法:1降低系統(tǒng)時鐘2用反應更快的FF3引入同步機制,防止亞穩(wěn)態(tài)傳播4改善時鐘質量,用邊沿變化快速的時鐘信號關鍵是器件使用比較好的工藝和時鐘周期的裕量要大。2.13系統(tǒng)最高速度計算(最快時鐘頻率)和流水線設計思想同步電路的速度是指同步系統(tǒng)時鐘的速度,同步時鐘愈快,電路處理數(shù)據(jù)的時間間隔越短,電路在單位時間處理的數(shù)據(jù)量就愈大。假設Teo 是觸發(fā)器的輸入數(shù)據(jù)被時鐘打入到觸發(fā)器到數(shù)據(jù)到達觸發(fā)器輸出端 的延時時間;Tdelay是組合邏輯的延時;Tsetup是D觸發(fā)器的建立時 間。假設數(shù)據(jù)已被時鐘打入D觸發(fā)器,那么數(shù)據(jù)到達第一個觸發(fā)器的 Q輸出端需要的
36、延時時間是 Teo,經過組合邏輯的延時時間為 Tdelay, 然后到達第二個觸發(fā)器的D端,要希望時鐘能在第二個觸發(fā)器再次被 穩(wěn)定地打入觸發(fā)器,則時鐘的延遲必須大于Teo+ Tdela什Tsetup,也就是說最小的時鐘周期 Tmin =Teo Tdela什Tsetup,即最快的時鐘頻 率Fmax =1/Tmh FPGA開發(fā)軟件也是通過這種方法來計算系統(tǒng)最高 運行速度Fma%因為Tco和Tsetup是由具體的器件工藝決定的,故 設計電路時只能改變組合邏輯的延遲時間 Tdelay,所以說縮短觸發(fā)器 間組合邏輯的延時時間是提高同步電路速度的關鍵所在。由于一般同步電路都大于一級鎖存,而要使電路穩(wěn)定工作,
37、時鐘周期必須滿足最 大延時要求。故只有縮短最長延時路徑,才能提高電路的工作頻率。可以將較大的 組合邏輯分解為較小的N塊,通過適當?shù)姆椒ㄆ骄峙浣M合邏輯,然 后在中間插入觸發(fā)器,并和原觸發(fā)器使用相同的時鐘,就可以避免在 兩個觸發(fā)器之間出現(xiàn)過大的延時,消除速度瓶頸,這樣可以提高電路 的工作頻率。這就是所謂"流水線"技術的基本設計思想,即原設計速 度受限部分用一個時鐘周期實現(xiàn),采用流水線技術插入觸發(fā)器后,可 用N個時鐘周期實現(xiàn),因此系統(tǒng)的工作速度可以加快,吞吐量加大。 注意,流水線設計會在原數(shù)據(jù)通路上加入延時, 另外硬件面積也會稍 有增加。2.14多時域設計中,如何處理信號跨時域
38、?建立和保持時間如果數(shù)據(jù)發(fā)生變化,就可能發(fā)生亞穩(wěn)態(tài)現(xiàn)象。一般來 說,在單一時鐘域的設計中只要系統(tǒng)電路的 fmax能夠保證,就可以 避免亞穩(wěn)態(tài)的發(fā)生;但是在跨時鐘域的時鐘的相位是異步的, 亞穩(wěn)態(tài) 將無法避免。此時,在跨時鐘設計時的解決亞穩(wěn)態(tài)的思想是:雖然亞 穩(wěn)態(tài)無法避免,但可以對不同的時鐘域之間信號進行同步處理,防止新時鐘域中第一級觸發(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)
39、缺點?時序分析是允許用戶分析設計中所有邏輯的時序性能,并協(xié)助引導布局布線滿足設計中的時序分析要求。靜態(tài)時序分析是采用窮盡分析方法來提取出整個電路存在的所有時 序路徑,計算信號在這些路徑上的傳播延時, 檢查信號的建立和保持 時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析, 找出違背時序約束的錯誤。它不需要輸入向量就能窮盡所有的路徑, 且運行速度很 快、占用存較少,不僅可以對芯片設計進行全面的時 序功能檢查,而且還可利用時序分析的結果來優(yōu)化設計, 因此靜態(tài)時 序分析已經越來越多地被用到數(shù)字集成電 路設計的驗證中。動態(tài)時序模擬就是通常的仿真,因為不可能產生完備的測試向量,覆 蓋門級網(wǎng)表
40、中的每一條路徑。因此在動態(tài)時序分析中,無法暴露一些 路徑上可能存在的時序問題。2.16給了 reg的setup,hold時間,求中間組合邏輯的 delay圍Delay < period - setup-hold2.17時鐘周期T,觸發(fā)器D1的寄存器到輸出時間最大為 Tlmax,最小為T1min。組合邏輯電路最大延遲為 T2max,最小為T2min。問,觸發(fā)器D2的 建立時間T3和保持時間應滿足什么條件T3setup>T+T2max T3hold>T1min+T2min第3章RTL級設計3.1用VERILOG或VHDL寫一段代碼,實現(xiàn)消除一個 glitch?將傳輸過來的信號經過
41、兩級觸發(fā)器就可以消除毛刺。3.2阻塞式賦值和非組塞式賦值的區(qū)別?非阻塞賦值:塊的賦值語句同時賦值,一般用在時序電路描述中,同時執(zhí)行。阻塞賦值:完成該賦值語句后才做下一句的操作,一般用 在組合邏輯描述中,順序執(zhí)行。3.3用FSM實現(xiàn)101101的序列檢測模塊。a為輸入端,b為輸出端,如果a連續(xù)輸入為1101則b輸出為1,否 則為0。例如a: b 請畫出 state machine; 請用 RTL描述其 state machinebO'O1/0a;Q1/0y1/11/0stlst21/010狀態(tài)分配:idle: 000 sto: 001 stl: 011 st2:st3: 1103.4用v
42、erilog/vhdl寫一個fifo控制器(包括空,滿,半滿信號)。 regN-1:0 memory0:M - 1;定義 FIFO為 N 位字長容量 M 八個always模塊實現(xiàn),兩個用于讀寫FIFO兩個用于產生頭地址head 和尾地址tail,一個產生counter計數(shù),剩下三個根據(jù)counter的值產 生空,滿,半滿信號產生空,滿,半滿信號。3.5用D觸發(fā)器實現(xiàn)2分頻的Verilog描述? module divide2( clk , clk_o, reset);in put clk , reset; output clk_o;wire in; reg outalways ( posedge
43、 clk or posedge reset)if ( reset) out <= 0; else out <= in;assig n in 二 out; assig n clk_o = out;en dmodule3.6用D觸發(fā)器做個二分頻的電路?畫出邏輯電路?D觸發(fā)器的輸出Q取反接到輸入,輸出作為二分頻輸出。顯示工程設計中一般不采用這樣的方式來設計,二分頻一般通過DCM或PLL來實現(xiàn)。通過DCM或者PLL得到的分頻信號沒有相位差。3.7描述一個交通信號燈的設計。module traffic3.8設計一個自動飲料售賣機,飲料10分錢,硬幣有5分和10分兩 種,并考慮找零,1.畫出f
44、sm (有限狀態(tài)機)2.用verilog編程,語法要符合fpga 設計的要求3.設計工程中可使用的工具及設計大致過程(1)點路變量分析:投入5分硬幣為一個變量,定義為A,為輸入; 投入10分硬幣為一個變量,定義為 B,為輸入;售貨機給出飲料為 一變量,定義為Y,為輸出;售貨機找零為一變量,定義為 乙為輸 出。(2) 狀態(tài)確定:電路共有兩個狀態(tài):狀態(tài)SO,表示未投入任何硬幣;狀態(tài)S1,表示投入了 5分硬幣。(3) 設計過程:設當前為 SO狀態(tài),當接收到5分硬幣時,轉換到S1狀態(tài),等待繼續(xù)投入硬幣;當接收到10分硬幣時,保持S0狀態(tài),彈出飲料,不找零。當前狀態(tài)為 S1時,表示已經有5分硬幣,若再接
45、收5分硬幣,轉換到S0狀態(tài),彈出飲料,不找零;若接收到10分 硬幣,轉換到SO狀態(tài),彈出飲料,找零。所用設計工具: Quartus II, modelsim01 1110 10AB YZ00 0010/00module machine(clk.rst,A.B.Y.Z): endmodule第4章名詞解釋4.1 sram, falsh memory 及 dram 的區(qū)另U ?sram:靜態(tài)隨機存儲器,存取速度快,但容量小,掉電后數(shù)據(jù)會丟失, 不像DRAM需要不停的REFRESH制造成本較高,通常用來作為快取(CACHE記憶體使用 flash:閃存,存取速度慢,容量大,掉電后數(shù)據(jù)不會丟失dram:動態(tài)隨機存儲器,必須不斷的重新的加強 (REFRESHED)位差 量,否則
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲店租賃權及品牌使用權轉讓及加盟合同范本
- 邊疆古代手工業(yè)考古合同
- 物業(yè)管理公司車位使用權轉讓合同范本
- 安全生產標準化要素有哪些
- 建設工程開工前質量安全條件核查表
- 幼兒園安全自查總結
- 安全管理績效考核細則
- 美術下雨天課件
- 安全事故案例反思總結
- 工程安全事故等級劃分
- 短期培訓財務管理制度
- 2024-2025學年下學期高一數(shù)學人教A版期末必刷??碱}之頻率與概率
- 設備易損配件管理制度
- 口腔診所前臺主管述職報告
- 青霉素過敏反應的急救
- 2024年廣東“三支一扶”計劃招募筆試真題
- 2025-2030中國鋁業(yè)發(fā)展狀況與投資戰(zhàn)略研究報告
- 設備租賃方案(3篇)
- 公關費用標準管理制度
- 2025-2030年中國潔凈室風扇過濾單元行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- AI大模型賦能數(shù)字農業(yè)農村數(shù)字鄉(xiāng)村建設方案
評論
0/150
提交評論