從FPGA轉換到門(mén)陣列

發(fā)布時(shí)間:2010-8-31 10:13    發(fā)布者:techshare
關(guān)鍵詞: FPGA , 門(mén)陣列
概述   

FPGA或PLD轉換到門(mén)陣是經(jīng)濟高效的,有時(shí)甚至只需幾百個(gè)單元就能實(shí)現。這已經(jīng)引起越來(lái)越多設計者提出同樣的問(wèn)題:這種轉換設計需要什么后續技術(shù)?事實(shí)上轉換到門(mén)陣面臨著(zhù)許多電路的時(shí)序問(wèn)題,這在FPGA設計中是不被注意的。   

本文論述了轉換時(shí)遇到的幾種由于設計不當所造成的時(shí)序問(wèn)題,提出了避免這些問(wèn)題的方案。同時(shí)對時(shí)序變化的部分原因及充分利用門(mén)陣列技術(shù)亦在文中進(jìn)行了討論。   

時(shí)序上的差異  

如果知道原始設計電路工作中每一步時(shí)序上的裕量,Orbit保證無(wú)論FPGA是否模擬過(guò),都可以成功完成轉換,而使用其ATPG和結合缺省模擬分級確保了這一點(diǎn)。在轉換完成前,由用戶(hù)模擬或由Obrit ATPG產(chǎn)生的測試向量,用IC測試儀對FPGA進(jìn)行測試。如果是用戶(hù)提供的測試裝置或測試向量,此時(shí)需分析時(shí)序情況,驗證系統功能。注意:只有管腿到管腿的測試向量才有助于確認轉換的正確性,設置內部節點(diǎn)的模擬向量在芯片級的驗證模擬時(shí)是無(wú)用的。  

毛刺信號的產(chǎn)生  

許多邏輯電路能產(chǎn)生小的,寄生的信號,稱(chēng)作為毛刺信號。無(wú)法預見(jiàn)毛刺信號可通過(guò)設計來(lái)傳播并產(chǎn)生不需要的時(shí)鐘脈沖。任何組合電路都可能是潛在的毛刺信號的發(fā)生器,當毛刺信號影響后續電路時(shí),就成為一個(gè)較大問(wèn)題。   

圖1用于說(shuō)明與門(mén)的輸出變化與否依賴(lài)于線(xiàn)路的延時(shí)。假定圖中信號AO總比BO提前5ns到達。   

  

情況1:信號A1的延時(shí)為10ns,B1為20ns,那么與門(mén)的輸出一直為低電平。   

情況2:信號A1的延時(shí)為20ns,B1為10ns,那么與門(mén)的輸出為5ns的高電平,其余為低電平。   

情況3:兩路信號延時(shí)都很。ㄈ缤陂T(mén)陣列中一樣),那么與門(mén)的輸出一直為低電平。   

上述差異的重要性完全依賴(lài)于信號的用途。如果電路輸出后續由觸發(fā)器鎖定,情況2中非期望的毛刺信號可能被忽略;而如果毛刺信號在后續電路中被看作是有意義的信號,那么情況1和情況3中由于沒(méi)有產(chǎn)生毛刺信號,就會(huì )致使電路工作不正常。   

開(kāi)啟時(shí)鐘  

許多設計中出現的問(wèn)題都與如何使用時(shí)鐘有關(guān)。   

圖2用于解釋由邏輯門(mén)控制時(shí)鐘所誘發(fā)的問(wèn)題。邏輯門(mén)的介入使得時(shí)鐘到第二個(gè)觸發(fā)器出現了特殊路經(jīng)。要考慮兩條線(xiàn)路的長(cháng)度:一是CLK_IN到FF2的D輸入端,另一是從CLK_IN到FF2_C端。要驗證兩種情況:1、數據的變化在時(shí)鐘信號的上升沿之后到達FF2;2、數據的變化在時(shí)鐘信號的上升沿之前到達FF2。   


  

情況1中,要改變FF2_Q,需要兩個(gè)CLK_IN上升沿,而情況2中只需一個(gè)CLK_IN的上升沿。當路徑2的延遲太長(cháng)時(shí),FF2_Q變化將早到一個(gè)時(shí)鐘周期。這種設計邏輯特性很大程度上依賴(lài)于延遲路徑。   

替代的方案是用邏輯門(mén)來(lái)控制數據,而不是用時(shí)鐘。由于全局時(shí)鐘信號用于兩個(gè)觸發(fā)器,它們幾乎在同一時(shí)間記錄數據。實(shí)際上,FPGA中新的路徑1幾乎一定長(cháng)于新路徑2,這將確保電路的行為同情況1。當電路轉換到門(mén)陣列時(shí),必須仍保持這種相同。   

總之,要盡量減少或者不使用邏輯門(mén)控制時(shí)鐘信號,因為它會(huì )在時(shí)鐘和數據之間產(chǎn)生較多的扭曲。 如果時(shí)鐘信號上由邏輯等式產(chǎn)生,那么這種方法就會(huì )有一些自身的問(wèn)題。如果全局時(shí)鐘信號線(xiàn)不用于路由派生時(shí)鐘,那么時(shí)鐘的同步上會(huì )有一些重要的差別。如果出于不同的用途分別產(chǎn)生時(shí)鐘,情況甚至會(huì )變得更糟。  

全局時(shí)鐘信號的使用  

在長(cháng)串寄存器鏈中,這個(gè)問(wèn)題會(huì )在多處出現。此電路的一個(gè)替代方法如圖3所示。使用CLK信號,用第二個(gè)與門(mén)消除了多路時(shí)鐘。這樣只產(chǎn)生一個(gè)時(shí)鐘信號到觸發(fā)器串。圖3中觸發(fā)器串的時(shí)鐘信號是系統時(shí)鐘通過(guò)門(mén)延遲得到的,當到達觸發(fā)器串的數據與觸發(fā)器串的時(shí)鐘不同步時(shí),將在兩個(gè)路徑間產(chǎn)生競爭。一路是觸發(fā)器串的數據輸入路徑,另一路是系統時(shí)鐘到達觸發(fā)器串的時(shí)鐘輸入端路徑。解決方案是用系統時(shí)鐘的下降沿觸發(fā)的單獨觸發(fā)器串記錄數據。   




狀態(tài)檢測:  

如果不考慮電路鐘的延遲,狀態(tài)機的狀態(tài)檢測可能會(huì )出錯。如果用組合邏輯來(lái)產(chǎn)生復位信號,那么即使是同步電路也會(huì )產(chǎn)生問(wèn)題。   

盡量保持狀態(tài)控制邏輯(如計數器、分頻器等)少于10位。如果超過(guò)10位,長(cháng)計數器應該有用于監視內部狀態(tài)的抽頭,或者至少有一預置的功能。這些監視用抽頭應能夠很容易地將數據傳送到輸出引腳,以便監測。   

復位問(wèn)題:  

如同時(shí)鐘一樣,如果使用組合邏輯或者不詳細考慮時(shí)序,復位信號也能產(chǎn)生一系列問(wèn)題。   

圖4示出了一種產(chǎn)生短脈沖的方法:當觸發(fā)器D輸入是高電位時(shí),每個(gè)時(shí)鐘周期后Q端產(chǎn)生一個(gè)短脈沖。復位信號是低電位有效,Q(輸出高電位時(shí)不引起復位。當時(shí)鐘的上升沿到來(lái)時(shí),如果D端是高電位,Q(輸出變低,導致觸發(fā)器復位。然后Q(又被拉回到高電位,從而結束復位。為避免組合復位信號的問(wèn)題,可以使用圖5所示得另一觸發(fā)器的輸出來(lái)驅動(dòng)復位信號。   

  

  

執行問(wèn)題:   

當邏輯等式用于描述一種功能,而編輯器用于產(chǎn)生邏輯關(guān)系時(shí),情況變得更有趣?紤]最近發(fā)現的一個(gè)例子:  

if T,OUT=/A
else,OUT=B  

如圖6,盡管電路在邏輯上是正確的,但當T變化時(shí)會(huì )產(chǎn)生毛刺信號。A=0,B=1時(shí)出現問(wèn)題。圖7為簡(jiǎn)化電路。信號T僅僅用作模式切換。當系統在工作臺上測試時(shí),毛刺信號絕不會(huì )是問(wèn)題。當隨后使用自動(dòng)系統測試時(shí),要考慮很多效應以找到系統錯誤的根源。圖7所示的邏輯在門(mén)陣列實(shí)現時(shí),將可能在不需要的時(shí)候產(chǎn)生脈沖。事實(shí)上,這個(gè)問(wèn)題是轉換到門(mén)陣列實(shí)現時(shí)發(fā)現的,正可以解釋自動(dòng)的系統測試期間所出現的反,F象。     

分割與試驗的方法:  

如果FPGA的功能在很大程度上依賴(lài)于路徑延遲,那么設計階段重新選擇路徑將引起一部分電路工作不正常。即使以前電路工作正常并且似乎已經(jīng)最后完成了,情況仍然會(huì )如此。不同制造批號的電路模塊可能具有不同的工作特性。工作電壓和工作溫度的變化可能引起時(shí)序上的變化。如果設計中每一步的工作時(shí)序只有很少的裕量,甚至沒(méi)有,那么上述的效應將引起不同的邏輯行為。   

上述問(wèn)題與使用FPGA或是門(mén)陣列無(wú)關(guān)。使用好的設計技術(shù)可以將FPGA中的這些問(wèn)題減至最少,并且可以使得門(mén)陣列的轉換變得更為平穩。因為仿真模擬通常用于驗證執行情況,而較差的設計在進(jìn)行門(mén)陣列的轉換中問(wèn)題就會(huì )暴露出來(lái)。采用不同的時(shí)序模型庫模擬,一個(gè)完美的設計能夠給出相同的邏輯輸出,而與電壓、溫度和工藝變化無(wú)關(guān)。  

電壓和溫度效應:  

設計者喜歡電源電壓正好設置在5伏,并且環(huán)境溫度永遠是25℃。這樣固然好,但絕大多數的電源電壓是變化的。類(lèi)似的商用電路的環(huán)境溫度可能是從0"70℃。電壓升高時(shí),電路運行加快。溫度升高時(shí),電路運行變慢。通常,在低溫、高電壓(最快的情況)下出現的小毛刺信號,在高溫、低電壓(最慢的情況)時(shí)會(huì )消失不見(jiàn)。Orbit半導體公司使用了一種五角工藝驗證技術(shù),它可將PVT(工藝-電壓-溫度)變化包含于時(shí)序模型中,而且這些模型已被融合到硅片循環(huán)加工中。   

工藝的變化:  

具有某種功能的一處電路不能保證相同布局的另一處電路也具有同樣功能,即使在相同的電壓和溫度條件下也是如此。制造過(guò)程中工藝的變化都是固有的、不可避免的。  

FPGA供應商指出任何元件的延遲都可以從所給最差值的10%變到100%。他們還指出給定電路上跟蹤的延遲是70%。如果路徑A具有最大的延遲,路徑B將介于最大延遲的70%和100%之間。這意味著(zhù)如果兩條路徑中有一最大是40ns的延遲,當路徑1是40ns時(shí)路徑B可能時(shí)28ns。類(lèi)似的,路徑2是40ns時(shí)A可能是28ns。則一個(gè)信號通過(guò)路徑1將比通過(guò)路徑2早12ns或晚12ns。即使FPGA沒(méi)有重新布線(xiàn),這些變化仍會(huì )發(fā)生。   

門(mén)陣列具有與FPGA同樣特性的時(shí)序變化。主要差別是延遲通常是非常短的,這是因為內部連線(xiàn)是用金屬完成的,而不是使用可編程路徑器件。FPGA和門(mén)陣列都不能免除由于工藝變化引起的時(shí)序問(wèn)題。   

其他的轉換差別:  

FPGA提供了系統工作的很大靈活性,為更好地滿(mǎn)足系統的需要,在FPGA轉換成門(mén)陣列時(shí),許多增強措施被加到設計中:   

輸入:
1、 TTL或CMOS
2、 施密特觸發(fā)器(增加滯后效應)
3、 晶體或RC振蕩器單元
4、 增加上拉或下拉器件   

輸出:
1、 很多不同的驅動(dòng)級
2、 漏端開(kāi)路(集電極開(kāi)路)
3、 旋轉比率控制   

門(mén)陣列的門(mén)海結構實(shí)際上就是一個(gè)自由晶體管的海洋,添加特殊單元相對容易。甚至,一些生產(chǎn)商允許使用門(mén)海中的晶體管來(lái)制成模擬器件。  

總結

從FPGA轉換到門(mén)陣列時(shí)遇到的主要問(wèn)題,常常在轉換之前FPGA中就會(huì )看到。好的設計方案將減少FPGA中遇到的問(wèn)題,并為轉換到門(mén)陣列的設計做好準備。
本文地址:http://selenalain.com/thread-24655-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页