色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

淺淡邏輯設(shè)計的學(xué)習(xí)(三)

發(fā)布時間:2016-2-26 14:25    發(fā)布者:designapp
關(guān)鍵詞: 邏輯設(shè)計 , 時序 , 約束
  入門
  結(jié)合一兩個小項目把上面所說的事情都做好后,差不多就可以進(jìn)入入門的階段了(要求稍微嚴(yán)格了一點點,呵呵)。
  入門階段要學(xué)的有:設(shè)計時序;理解約束的原理及如何加約束。
  先談?wù)勗O(shè)計時序。
  設(shè)計時序是進(jìn)行邏輯設(shè)計的基本要求:時序是設(shè)計出來的,不是仿出來的,更不是湊出來的。
  很多人在做邏輯設(shè)計時喜歡一上來就狂寫代碼,寫到一半后發(fā)現(xiàn)信號間的時序出問題了,只好推倒重來;好不容易反復(fù)了幾次之后,通過仿真軟件看了下,差不多要對了,于是再湊一下時序,竟然對了!但這個做法除了設(shè)計周期長外,代碼的質(zhì)量也難以保證,往往存在很多冗余的邏輯,甚至有一些隱藏著較深的bug。
  為什么會出現(xiàn)上面的問題呢?因為我們設(shè)計的是數(shù)字邏輯,而信號之間的邏輯關(guān)系往往是比較復(fù)雜的,在內(nèi)部信號很多的情況下,僅憑拍下腦袋就寫代碼肯定是不能理清楚它們之前的復(fù)雜的關(guān)系,所以出錯在所難免。
  正確的做法是我們要先對整個設(shè)計有一些規(guī)劃--時時刻刻都要有設(shè)計時序的思想。設(shè)計時序最重要的是做好方案,這里說的方案絕不是只是擺幾個框圖在那里。我們在做設(shè)計的時候需要做總體設(shè)計方案、邏輯詳細(xì)設(shè)計方案。這兩種方案包括了很多東西,邏輯總體方案主要是一級模塊的劃分及接口時序的定義,而邏輯詳細(xì)方案就是代碼的文字及圖形描述!
  對于入門者來說,接觸的比較多的是邏輯詳細(xì)設(shè)計方案。在這一級別的方案中,我們是要求的是至少要做到模塊內(nèi)部所有關(guān)鍵信號的時序都要先設(shè)計好,這里講的設(shè)計時序主要就是畫波形圖,在一個操作周期內(nèi)每個信號在每一個時鐘周期該是什么樣子就畫成什么樣子。 附圖(時序圖)是我曾設(shè)計的一個模塊的主要信號時序:aes_cnt信號控制著w_fifo_rden、aes_ready等信號,是該模塊的關(guān)鍵信號,通過將它們之間的時序關(guān)系通過時序圖反應(yīng)出來,寫代碼時就可以做到胸有成竹,減少出現(xiàn)邏輯混亂的情況。
  聽起來似乎很簡單,但是執(zhí)行起來卻不容易,因為畫波形圖是一件很煩鎖的事(有一次一個模塊因為操作比較多我畫了8張時序圖)。但是請相信我,如果不這樣做,因為時序關(guān)系沒有處理好引起設(shè)計多次迭代所花的時間遠(yuǎn)多于畫波形圖的時間。
  時序設(shè)計好之后,模塊內(nèi)部各個信號之間的關(guān)系就理得差不多了,之后就是將它翻譯成代碼了,這個過程以體力勞動為主,我就不多說了。
  補充一下,畫波形圖推薦用TimingDesigner這個軟件,如果有更好的,請告訴我,我也不喜歡TimingDesigner。
  另一個就是約束。
  這里的約束是針對綜合軟件和布局布線軟件而言的。
  為什么會有約束這個東西出現(xiàn)呢?主要原因是EDA軟件比較笨,難以明白我們的心思,如果我們不把更詳細(xì)的信息告訴它的話它就干不好活,比如需要將輸出寄存器放的與輸出管腳近一點,如果不加約束,EDA軟件可能布通之后就不管了,導(dǎo)致Tco狂大,一點也不善解人意。所以我們需要約束這個東西,告訴EDA軟件要怎么干活,工程驗收的標(biāo)準(zhǔn)又是什么。
  在加約束之前,我們首先要定義一些術(shù)語好告訴EDA軟件我們想干什么,這些術(shù)語便是Fmax、Tsu、Tco等等這些東西。這些東西的含義這里就不多說了,網(wǎng)上的討論已經(jīng)很多了。
  有了術(shù)語,還要有一種通信方式與EDA軟件通信,腳本語言充當(dāng)了這一角色。不過現(xiàn)在像quartus這類軟件做的比較智能化了,提供了圖形化界面,但是這背后支撐的還是些腳本語言,大家可以用UltraEdit打加*.qsf文件去看看我們加的約束用腳本語言是怎么寫的。
  在加了約束之后,EDA工具就可以更好地按照我們的意愿去干活了,比較我們加了Fmax的約束,它就會盡可能地將關(guān)鍵路徑放的靠近一些,以提高電路工作頻率。當(dāng)然,這是有代價的,尋找路徑是需要時間的,要求越苛刻,時間花的越多,因此加約束的原則的適用就行。如果約束加的過高,就相當(dāng)于讓EDA工具去做一件不可能完成的事,找更短的路徑的時候說不定找著找著就掉下懸崖了,效果反而更差。
  雖然有約束這個好東西,不過提醒一下,在項目之前千萬對它抱有太多的幻想,把希望寄托在別人的身上并不是每一次都很可靠的,出了問題還是要麻煩自己,加約束只能做一些錦上添花的事情。所以,我們在做方案的時候就需要對關(guān)鍵路徑進(jìn)行預(yù)估,要通過設(shè)計而不是約束解決這些問題。
                               
                                                               
                               
               
本文地址:http://m.54549.cn/thread-161314-1-1.html     【打印本頁】

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

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表