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

x
x

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

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

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

相關(guān)視頻

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