小梅哥和你一起深入學(xué)習(xí)FPGA之規(guī)范約定
本規(guī)范主要是對(duì)設(shè)計(jì)流程、端口名稱(chēng)、組織結(jié)構(gòu)、文檔編排進(jìn)行約定。本約定作用僅僅是為了使后期代碼設(shè)計(jì)和文檔編寫(xiě)更加規(guī)范有序,方便自己和讀者閱讀,與公司的設(shè)計(jì)規(guī)范還差著十萬(wàn)八千里,因此,望大家萬(wàn)不可以小梅哥的規(guī)范作為標(biāo)準(zhǔn)。當(dāng)然,小梅哥在規(guī)范約定時(shí),也會(huì)盡量參考華為verilog規(guī)范和至芯科技的文檔編寫(xiě)規(guī)范力爭(zhēng)做到簡(jiǎn)潔通俗。
本文引用地址:http://www.butianyuan.cn/article/270702.htm規(guī)范約定之設(shè)計(jì)文檔基本結(jié)構(gòu)
為了將設(shè)計(jì)能夠清晰明了的介紹給大家,讓大家一看就懂,文檔編寫(xiě)時(shí)會(huì)詳細(xì)包含以下內(nèi)容:
一、 實(shí)驗(yàn)?zāi)康?/p>
二、 實(shí)驗(yàn)原理
三、 硬件設(shè)計(jì)
四、 架構(gòu)設(shè)計(jì)
五、 代碼組織方式
六、 關(guān)鍵代碼解讀
七、 測(cè)試平臺(tái)設(shè)計(jì)
八、 仿真分析
九、 下板驗(yàn)證
現(xiàn)分別對(duì)以上標(biāo)題的內(nèi)容進(jìn)行介紹
實(shí)驗(yàn)?zāi)康模褐饕岢鰧?shí)驗(yàn)的要求以及需要達(dá)到的目的
實(shí)驗(yàn)原理:主要對(duì)該實(shí)驗(yàn)涉及到的軟硬件電路、協(xié)議、基本思路進(jìn)行分析和介紹
硬件設(shè)計(jì):主要分析實(shí)現(xiàn)該實(shí)驗(yàn)的硬件電路設(shè)計(jì),因?yàn)槟壳靶∶犯鐣簳r(shí)沒(méi)錢(qián)做開(kāi)發(fā)板,因此只能是在其他廠家的開(kāi)發(fā)板硬件平臺(tái)上進(jìn)行分析講解
架構(gòu)組織:主要進(jìn)行實(shí)驗(yàn)的模塊構(gòu)建和架構(gòu)解讀,包括端口意義,內(nèi)部信號(hào)意義等。
代碼組織方式:主要進(jìn)行代碼設(shè)計(jì)方案的介紹,常用的有狀態(tài)機(jī)、線性序列機(jī),不同的實(shí)驗(yàn)根據(jù)具體情況適合采用不同的方案。如果采用狀態(tài)機(jī)進(jìn)行設(shè)計(jì),則會(huì)進(jìn)行狀態(tài)轉(zhuǎn)移圖的設(shè)計(jì),如果采用線性序列機(jī)的方式,也會(huì)設(shè)計(jì)相應(yīng)的線性序列表。
關(guān)鍵代碼解讀:主要針對(duì)設(shè)計(jì)中關(guān)鍵的代碼進(jìn)行分析解讀
測(cè)試平臺(tái)設(shè)計(jì):系統(tǒng)的testbench編寫(xiě),如果是多模塊結(jié)構(gòu),則會(huì)對(duì)所有模塊分別編寫(xiě)testbench
仿真分析:對(duì)仿真結(jié)果進(jìn)行分析,功能仿真必做,時(shí)序仿真選做,具體按照實(shí)驗(yàn)內(nèi)容而定
下板驗(yàn)證:目前小梅哥沒(méi)有自己的開(kāi)發(fā)板,沒(méi)辦法進(jìn)行統(tǒng)一的下板驗(yàn)證,但我會(huì)就著手邊的各式各類(lèi)的開(kāi)發(fā)板上有的硬件資源,自行下板驗(yàn)證,以保證代碼的正確性。
規(guī)范約定之代碼端口命名
設(shè)計(jì)中會(huì)設(shè)計(jì)到很多端口,不同的端口含義各不一樣,有內(nèi)部信號(hào),輸入輸出端口,標(biāo)志信號(hào),測(cè)試信號(hào)。
現(xiàn)分別對(duì)端口名做如下約定:
1、 端口信號(hào)首字母大寫(xiě);
2、 全局時(shí)鐘信號(hào)名為Clk;
3、 全局復(fù)位信號(hào)名為Global_Rst;
4、 其它的暫時(shí)沒(méi)有考慮的太多,具體會(huì)在每個(gè)實(shí)驗(yàn)對(duì)應(yīng)的文檔中給出。
規(guī)范約定之狀態(tài)機(jī)風(fēng)格設(shè)計(jì)
在學(xué)習(xí)Verilog的時(shí)候,經(jīng)常有人問(wèn)是三段式狀態(tài)機(jī)好還是一段式狀態(tài)機(jī)好,個(gè)人覺(jué)得,實(shí)際使用哪種方式并沒(méi)有一個(gè)嚴(yán)格的限定,有的設(shè)計(jì),采用一段式狀態(tài)機(jī)設(shè)計(jì)簡(jiǎn)潔,閱讀方便,而三段式狀態(tài)機(jī)則會(huì)較為繁瑣;另外又有一些設(shè)計(jì),需要用三段式狀態(tài)機(jī)才能很好的組織結(jié)構(gòu)。甚至有的設(shè)計(jì),需要狀態(tài)機(jī)和線性序列機(jī)聯(lián)合使用,方能達(dá)到好的效果,因此,小梅哥不想給機(jī)子帶上一個(gè)標(biāo)準(zhǔn)的框子,對(duì)應(yīng)不同的設(shè)計(jì),我會(huì)根據(jù)實(shí)際情況選擇不同的編碼方式。
可能考慮的不是很細(xì)致,本文檔會(huì)在實(shí)際代碼和文檔的設(shè)計(jì)中不斷的豐富和完善。
fpga相關(guān)文章:fpga是什么
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
評(píng)論