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