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