來源于互聯(lián)網(wǎng):
1:什么是同步邏輯和異步邏輯?(漢王)
同步邏輯是時(shí)鐘之間有固定的因果關(guān)系,。異步邏輯是各時(shí)鐘之間沒有固定的因果關(guān)系,。 答案應(yīng)該與上面問題一致
〔補(bǔ)充〕:同步時(shí)序邏輯電路的特點(diǎn):各觸發(fā)器的時(shí)鐘端全部連接在一起,并接在系統(tǒng)時(shí)鐘端,,只有當(dāng)時(shí)鐘脈沖到來時(shí),,電路的狀態(tài)才能改變。改變后的狀態(tài)將一直保持到下一個(gè)時(shí)鐘脈沖的到來,,此時(shí)無論外部輸入 x 有無變化,,狀態(tài)表中的每個(gè)狀態(tài)都是穩(wěn)定的。
異步時(shí)序邏輯電路的特點(diǎn):電路中除可以使用帶時(shí)鐘的觸發(fā)器外,,還可以使用不帶時(shí)鐘的觸發(fā)器和延遲元件作為存儲元件,,電路中沒有統(tǒng)一的時(shí)鐘,電路狀態(tài)的改變由外部輸入的變化直接引起,。
2:同步電路和異步電路的區(qū)別:
同步電路:存儲電路中所有觸發(fā)器的時(shí)鐘輸入端都接同一個(gè)時(shí)鐘脈沖源,,因而所有觸發(fā)器的狀態(tài)的變化都與所加的時(shí)鐘脈沖信號同步。
異步電路:電路沒有統(tǒng)一的時(shí)鐘,,有些觸發(fā)器的時(shí)鐘輸入端與時(shí)鐘脈沖源相連,,這有這些觸發(fā)器的狀態(tài)變化與時(shí)鐘脈沖同步,而其他的觸發(fā)器的狀態(tài)變化不與時(shí)鐘脈沖同步,。
3:時(shí)序設(shè)計(jì)的實(shí)質(zhì):
電路設(shè)計(jì)的難點(diǎn)在時(shí)序設(shè)計(jì),,時(shí)序設(shè)計(jì)的實(shí)質(zhì)就是滿足每一個(gè)觸發(fā)器的建立/保持時(shí)間的而要求。
4:建立時(shí)間與保持時(shí)間的概念,?
建立時(shí)間:觸發(fā)器在時(shí)鐘上升沿到來之前,,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時(shí)間。
保持時(shí)間:觸發(fā)器在時(shí)鐘上升沿到來之后,,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時(shí)間,。
不考慮時(shí)鐘的skew,D2的建立時(shí)間不能大于(時(shí)鐘周期T - D1數(shù)據(jù)最遲到達(dá)時(shí)間T1max+T2max),;保持時(shí)間不能大于(D1數(shù)據(jù)最快到達(dá)時(shí)間T1min+T2min),;否則D2的數(shù)據(jù)將進(jìn)入亞穩(wěn)態(tài)并向后級電路傳播
(修改)
5:為什么觸發(fā)器要滿足建立時(shí)間和保持時(shí)間?
因?yàn)橛|發(fā)器內(nèi)部數(shù)據(jù)的形成是需要一定的時(shí)間的,,如果不滿足建立和保持時(shí)間,,觸發(fā)器將進(jìn)入亞穩(wěn)態(tài),,進(jìn)入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不穩(wěn)定,,在0和1之間變化,這時(shí)需要經(jīng)過一個(gè)恢復(fù)時(shí)間,,其輸出才能穩(wěn)定,,但穩(wěn)定后的值并不一定是你的輸入值,。這就是為什么要用兩級觸發(fā)器來同步異步輸入信號。這樣做可以防止由于異步輸入信號對于本級時(shí)鐘可能不滿足建立保持時(shí)間而使本級觸發(fā)器產(chǎn)生的亞穩(wěn)態(tài)傳播到后面邏輯中,,導(dǎo)致亞穩(wěn)態(tài)的傳播,。
(比較容易理解的方式)換個(gè)方式理解:需要建立時(shí)間是因?yàn)橛|發(fā)器的D段像一個(gè)鎖存器在接受數(shù)據(jù),為了穩(wěn)定的設(shè)置前級門的狀態(tài)需要一段穩(wěn)定時(shí)間,;需要保持時(shí)間是因?yàn)樵跁r(shí)鐘沿到來之后,,觸發(fā)器要通過反饋來所存狀態(tài),從后級門傳到前級門需要時(shí)間,。
6:什么是亞穩(wěn)態(tài),?為什么兩級觸發(fā)器可以防止亞穩(wěn)態(tài)傳播?
這也是一個(gè)異步電路同步化的問題,,具體的可以參考《EDACN技術(shù)月刊20050401》,。
亞穩(wěn)態(tài)是指觸發(fā)器無法在某個(gè)規(guī)定的時(shí)間段內(nèi)到達(dá)一個(gè)可以確認(rèn)的狀態(tài)。使用兩級觸發(fā)器來使異步電路同步化的電路其實(shí)叫做“一步同位器”,,他只能用來對一位異步信號進(jìn)行同步,。兩級觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理:假設(shè)第一級觸發(fā)器的輸入不滿足其建立保持時(shí)間,它在第一個(gè)脈沖沿到來后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),,那么在下一個(gè)脈沖沿到來之前,,其輸出的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復(fù)時(shí)間后必須穩(wěn)定下來,而且穩(wěn)定的數(shù)據(jù)必須滿足第二級觸發(fā)器的建立時(shí)間,,如果都滿足了,,在下一個(gè)脈沖沿到來時(shí),第二級觸發(fā)器將不會出現(xiàn)亞穩(wěn)態(tài),,因?yàn)槠漭斎攵说臄?shù)據(jù)滿足其建立保持時(shí)間,。同步器有效的條件:第一級觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后的恢復(fù)時(shí)間 + 第二級觸發(fā)器的建立時(shí)間 < = 時(shí)鐘周期。
更確切地說,,輸入脈沖寬度必須大于同步時(shí)鐘周期與第一級觸發(fā)器所需的保持時(shí)間之和,。最保險(xiǎn)的脈沖寬度是兩倍同步時(shí)鐘周期。 所以,,這樣的同步電路對于從較慢的時(shí)鐘域來的異步信號進(jìn)入較快的時(shí)鐘域比較有效,,對于進(jìn)入一個(gè)較慢的時(shí)鐘域,則沒有作用 ,。
7:系統(tǒng)最高速度計(jì)算(最快時(shí)鐘頻率)和流水線設(shè)計(jì)思想:
同步電路的速度是指同步系統(tǒng)時(shí)鐘的速度,,同步時(shí)鐘愈快,電路處理數(shù)據(jù)的時(shí)間間隔越短,,電路在單位時(shí)間內(nèi)處理的數(shù)據(jù)量就愈大,。假設(shè)Tco是觸發(fā)器的輸入數(shù)據(jù)被時(shí)鐘打入到觸發(fā)器到數(shù)據(jù)到達(dá)觸發(fā)器輸出端的延時(shí)時(shí)間;Tdelay是組合邏輯的延時(shí),;Tsetup是D觸發(fā)器的建立時(shí)間,。假設(shè)數(shù)據(jù)已被時(shí)鐘打入D觸發(fā)器,,那么數(shù)據(jù)到達(dá)第一個(gè)觸發(fā)器的Q輸出端需要的延時(shí)時(shí)間是Tco,經(jīng)過組合邏輯的延時(shí)時(shí)間為Tdelay,,然后到達(dá)第二個(gè)觸發(fā)器的D端,,要希望時(shí)鐘能在第二個(gè)觸發(fā)器再次被穩(wěn)定地打入觸發(fā)器,則時(shí)鐘的延遲必須大于Tco+Tdelay+Tsetup,,也就是說最小的時(shí)鐘周期Tmin =Tco+Tdelay+Tsetup,,即最快的時(shí)鐘頻率Fmax =1/Tmin。FPGA開發(fā)軟件也是通過這種方法來計(jì)算系統(tǒng)最高運(yùn)行速度Fmax,。因?yàn)門co和Tsetup是由具體的器件工藝決定的,,故設(shè)計(jì)電路時(shí)只能改變組合邏輯的延遲時(shí)間Tdelay,所以說縮短觸發(fā)器間組合邏輯的延時(shí)時(shí)間是提高同步電路速度的關(guān)鍵所在,。由于一般同步電路都大于一級鎖存,,而要使電路穩(wěn)定工作,時(shí)鐘周期必須滿足最大延時(shí)要求,。故只有縮短最長延時(shí)路徑,,才能提高電路的工作頻率??梢詫⑤^大的組合邏輯分解為較小的N塊,,通過適當(dāng)?shù)姆椒ㄆ骄峙浣M合邏輯,然后在中間插入觸發(fā)器,,并和原觸發(fā)器使用相同的時(shí)鐘,,就可以避免在兩個(gè)觸發(fā)器之間出現(xiàn)過大的延時(shí),消除速度瓶頸,,這樣可以提高電路的工作頻率,。這就是所謂"流水線"技術(shù)的基本設(shè)計(jì)思想,即原設(shè)計(jì)速度受限部分用一個(gè)時(shí)鐘周期實(shí)現(xiàn),,采用流水線技術(shù)插入觸發(fā)器后,,可用N個(gè)時(shí)鐘周期實(shí)現(xiàn),因此系統(tǒng)的工作速度可以加快,,吞吐量加大,。注意,流水線設(shè)計(jì)會在原數(shù)據(jù)通路上加入延時(shí),,另外硬件面積也會稍有增加,。
8:時(shí)序約束的概念和基本策略?
時(shí)序約束主要包括周期約束,,偏移約束,,靜態(tài)時(shí)序路徑約束三種。通過附加時(shí)序約束可以綜合布線工具調(diào)整映射和布局布線,,是設(shè)計(jì)達(dá)到時(shí)序要求,。
附加時(shí)序約束的一般策略是先附加全局約束,然后對快速和慢速例外路徑附加專門約束,。附加全局約束時(shí),,首先定義設(shè)計(jì)的所有時(shí)鐘,對各時(shí)鐘域內(nèi)的同步元件進(jìn)行分組,,對分組附加周期約束,,然后對FPGA/CPLD輸入輸出PAD附加偏移約束、對全組合邏輯的PAD TO PAD路徑附加約束,。附加專門約束時(shí),,首先約束分組之間的路徑,然后約束快,、慢速例外路徑和多周期路徑,,以及其他特殊路徑。
9:附加約束的作用,?
作用:1:提高設(shè)計(jì)的工作頻率(減少了邏輯和布線延時(shí)),;2:獲得正確的時(shí)序分析報(bào)告;(靜態(tài)時(shí)序分析工具以約束作為判斷時(shí)序是否滿足設(shè)計(jì)要求的標(biāo)準(zhǔn),,因此要求設(shè)計(jì)者正確輸入約束,,以便靜態(tài)時(shí)序分析工具可以正確的輸出時(shí)序報(bào)告)3:指定FPGA/CPLD的電氣標(biāo)準(zhǔn)和引腳位置。
10:FPGA設(shè)計(jì)工程師努力的方向:
SOPC,,高速串行I/O,,低功耗,可靠性,,可測試性和設(shè)計(jì)驗(yàn)證流程的優(yōu)化等方面,。隨著芯片工藝的提高,芯片容量,、集成度都在增加,,F(xiàn)PGA設(shè)計(jì)也朝著高速、高度集成,、低功耗,、高可靠性、高可測,、可驗(yàn)證性發(fā)展,。芯片可測、可驗(yàn)證,,正在成為復(fù)雜設(shè)計(jì)所必備的條件,,盡量在上板之前查出bug,將發(fā)現(xiàn)bug的時(shí)間提前,,這也是一些公司花大力氣設(shè)計(jì)仿真平臺的原因,。另外隨著單板功能的提高,、成本的壓力,低功耗也逐漸進(jìn)入FPGA設(shè)計(jì)者的考慮范圍,,完成相同的功能下,,考慮如何能夠使芯片的功耗最低,據(jù)說altera,、xilinx都在根據(jù)自己的芯片特點(diǎn)整理如何降低功耗的文檔,。高速串行IO的應(yīng)用,也豐富了FPGA的應(yīng)用范圍,,象xilinx的v2pro中的高速鏈路也逐漸被應(yīng)用,。 總之,學(xué)無止境,,當(dāng)掌握一定概念,、方法之后,就要開始考慮FPGA其它方面的問題了,。
11:對于多位的異步信號如何進(jìn)行同步,?
對以一位的異步信號可以使用“一位同步器進(jìn)行同步”,而對于多位的異步信號,,可以采用如下方法:1:可以采用保持寄存器加握手信號的方法(多數(shù)據(jù),,控制,地址),;2:特殊的具體應(yīng)用電路結(jié)構(gòu),根據(jù)應(yīng)用的不同而不同 ,;3:異步FIFO。(最常用的緩存單元是DPRAM)
12:FPGA和CPLD的區(qū)別,?
FPGA是可編程ASIC,。
ASIC:專用集成電路,它是面向?qū)iT用途的電路,,專門為一個(gè)用戶設(shè)計(jì)和制造的,。根據(jù)一個(gè)用戶的特定要求,能以低研制成本,,短,、交貨周期供貨的全定制,半定制集成電路,。與門陣列等其它ASIC(Application Specific IC)相比,,它們又具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低,、開發(fā)工具先進(jìn),、標(biāo)準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn)。
| CPLD | FPGA |
內(nèi)部結(jié)構(gòu) | Product-term | Look-up Table |
程序存儲 | 內(nèi)部EEPROM | SRAM,,外掛EEPROM |
資源類型 | 組合電路資源豐富 | 觸發(fā)器資源豐富 |
集成度 | 低 | 高 |
使用場合 | 完成控制邏輯 | 能完成比較復(fù)雜的算法 |
速度 | 慢 | 快 |
其他資源 | - | PLL,、RAM和乘法器等 |
保密性 | 可加密 | 一般不能保密 |
13:鎖存器(latch)和觸發(fā)器(flip-flop)區(qū)別?
電平敏感的存儲期間稱為鎖存器,??煞譃楦唠娖芥i存器和低電平鎖存器,用于不同時(shí)鐘之間的信號同步,。
有交叉耦合的門構(gòu)成的雙穩(wěn)態(tài)的存儲原件稱為觸發(fā)器,。分為上升沿觸發(fā)和下降沿觸發(fā),??梢哉J(rèn)為是兩個(gè)不同電平敏感的鎖存器串連而成。前一個(gè)鎖存器決定了觸發(fā)器的建立時(shí)間,,后一個(gè)鎖存器則決定了保持時(shí)間,。
14:FPGA芯片內(nèi)有哪兩種存儲器資源?
FPGA芯片內(nèi)有兩種存儲器資源:一種叫block ram,另一種是由LUT配置成的內(nèi)部存儲器(也就是分布式ram),。Block ram由一定數(shù)量固定大小的存儲塊構(gòu)成的,,使用BLOCK RAM資源不占用額外的邏輯資源,并且速度快,。但是使用的時(shí)候消耗的BLOCK RAM資源是其塊大小的整數(shù)倍,。
15:什么是時(shí)鐘抖動(dòng)?
時(shí)鐘抖動(dòng)是指芯片的某一個(gè)給定點(diǎn)上時(shí)鐘周期發(fā)生暫時(shí)性變化,,也就是說時(shí)鐘周期在不同的周期上可能加長或縮短,。它是一個(gè)平均值為0的平均變量。