作者在:特權同學 關于時序工具的一些FAE解答: 問:你們的工具是否只提供所有輸入輸出管腳完全一致的時序約束?如tsu,th,tco,tpd的約束?如果不同管腳可以有不 同約束值,如何設置? FAE:我們的工具提供的是時序分析功能,尚未提供時序約束功能,也就是說可以根據您輸入的值作為參考,計算出當前實現的各種時序信息與參考值的差距,但并不會根據輸入的值去做優化,所以也就不存在對不同管腳分別設置約束的功能了。 問:tco是指reg2pin的延時約束,tpd是指pin2pin的約束。而輸入管腳約束tsu和th值,具體含義我不是很 明白?比如說我希望輸入管腳的pin2reg延時為0-10ns,那么tsu和th如何設置? FAE:tsu就可以理解為pin2reg的延時,它是信號從pin到FPGA內部第一個reg相對于這個reg的clock的setup time,而th就是相對這個clock的hold time,th一般不會有問題,需要關注的是tsu。 問:我嘗試用GUI做了一些時序約束,然后每次做時序分析都報錯:Error: T2000: (ice_run_sta) Run sta failed. 這是什么問題? FAE:您的這個錯誤一般是sta設置上有什么問題,得具體分析工程。 今天終于拿到了最新3.2版本的軟件,安裝后,進行編譯,長達近10分鐘的placement讓我眉頭緊皺。后來從FAE處得知我拿到的是還未 release出來的中間版本,有問題在所難免。不說這個,回到主題上來,其實總感覺有些遺憾。FAE在之前的回答其實已經預示著這個國產FPGA與特權同學緣分已到盡頭。 WHY?他們提供的時序分析工具根本算不上真正的時序分析工具,或者這么說,這個所謂的時序分析工具只能提供分析,而無法進行時序的約束和優化。即便他們的工程設置中也提供了如圖1的恐怕可以稱得上是最簡單的“時序約束”,但這個所謂的“時序約束”其實并沒有任何“約束”的作用。安裝“官方”的說法,它不能夠對綜合乃至布局布線起到任何影響,而不過是給報告中的路徑劃了一條水平線,報告中確實能夠體現出水平線上或下的狀態。 ![]() 圖1 如圖2所示,很無奈的只是移植了一個SDRAM控制器外加一些其它邏輯,占去了總共1000個LE中80%的資源,然后只是約束了一個50MHz的工作時鐘,結果出來了20條false路徑。即便嘗試去試試用提供的僅有幾個對mapping或palcement&routing設置的優化,結果換來了更多的false。FAE也坦言,目前只能做些簡單的邏輯,跑個SDRAM等稍復雜的邏輯也就只能跑個二三十兆的樣子。 ![]() 圖2 幾天的試用,雖然以國產FPGA的性能問題而告夭折。雖然還顯稚嫩的開發工具、差強人意的器件性能多少讓人有些失望,但至少從某種程度上讓特權同學改變了對國產的一些偏見。其實,如果Agate Logic能夠持續這種開發熱情,不斷的改進,假以時日,相信他們會成為“中國的Altera”、“中國的Xilinx”。 |