邏輯器件的同步設(shè)計(jì)
在設(shè)計(jì)邏輯和電路時,經(jīng)常會遇到這樣的問題。即采用普通集成電路實(shí)現(xiàn)的設(shè)計(jì)移植到FPGA/CPLD邏輯器件時,其設(shè)計(jì)無法正常運(yùn)行。另外,有些設(shè)計(jì)己經(jīng)在邏輯器件申實(shí)現(xiàn)或通過了仿真測試。但經(jīng)過重新布線設(shè)計(jì)后,該設(shè)計(jì)不能正常工作。出現(xiàn)這些問題,基本上是在設(shè)計(jì)中出現(xiàn)了異步設(shè)計(jì)。典型的異步電路有以下幾種。
本文引用地址:http://m.butianyuan.cn/article/189900.htm(1)組合環(huán)路
組合環(huán)路是數(shù)字邏輯設(shè)計(jì)中不穩(wěn)定性和不可靠性最常見的原因之一。在同步設(shè)計(jì)中,所有的反饋環(huán)路都應(yīng)該包括寄存器。組合環(huán)路直接建立沒有寄存器的反饋,違反了同步設(shè)計(jì)的原則。例如,當(dāng)把一個寄存器輸出通過組合邏輯反饋給同一個寄存器的異步引腳時,就會產(chǎn)生組合環(huán)路,如圖1所示。
圖1 組合邏輯反饋的異步電路
組合環(huán)路是高風(fēng)險(xiǎn)的設(shè)計(jì)結(jié)構(gòu),這是因?yàn)榻M合環(huán)路的功能通常依靠環(huán)路邏輯的相對傳播延遲。正如所討論的,傳播延遲可能改變,那么環(huán)路行為也可能發(fā)生改變。
(2)延遲鏈路
當(dāng)兩個以上連續(xù)的單輸入單扇出節(jié)點(diǎn)引起延遲時就會產(chǎn)生延遲鏈路,通常把反相器連在一起增加延遲。延遲鏈通常由異步設(shè)計(jì)引入,有時用來解決其他組合邏輯引起的競爭冒險(xiǎn),如圖2所示。FPGA延遲會隨每次布局布線的變化而改變,延遲鏈可能引發(fā)不同的設(shè)計(jì)問題,包括增加了設(shè)計(jì)對工作條件的敏感性,減小了設(shè)計(jì)的可靠性,從而不利于移植到其他器件結(jié)構(gòu)上。在設(shè)計(jì)中要避免使用延遲鏈,而應(yīng)采用同步設(shè)計(jì)。
圖2 延遲鏈引發(fā)設(shè)計(jì)問題
(3)異步計(jì)數(shù)器
在低速且小規(guī)模的集成電路設(shè)計(jì)中,經(jīng)常采用異步結(jié)構(gòu)進(jìn)行計(jì)數(shù)器或分頻器設(shè)計(jì),如圖3所示。因?yàn)檫@種電路結(jié)構(gòu)簡單,連線較少。但這種電路結(jié)構(gòu)非常容易產(chǎn)生競爭冒險(xiǎn)現(xiàn)象,并且無法提供電路的工作速度。
圖3 異步計(jì)數(shù)器結(jié)構(gòu)產(chǎn)生競爭冒險(xiǎn)現(xiàn)象
綜合以上因素,為提高邏輯設(shè)計(jì)的可靠性,在邏輯設(shè)計(jì)時應(yīng)盡可能地采用同步設(shè)計(jì)。另外,由于FPGA器件的內(nèi)部結(jié)構(gòu)特性,采用同步設(shè)計(jì)可以有效地利用器件中的邏輯資源。在同步設(shè)計(jì)時,只要邏輯延遲不等于或大于時鐘周期就可以避免毛刺對邏輯運(yùn)行的影響,使系統(tǒng)穩(wěn)定地同步于系統(tǒng)時鐘。
評論