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