VIO和ILA ip核的使用

2021-10-02 08:37:10 字數 1115 閱讀 3256

學習fpga已經半個學期過去了,從茫然無措到找各種部落格尋求答案、到看官方文件自己摸索,這一路或多或少有一點進步,利用這個寒假,我會分享過去學習到的一些零散知識,希望在總結知識之餘,可以給新的學習者一些借鑑和參考。

最初學習verilog程式設計是比較容易上手的,因為它和c語言的語言風格非常類似,且自己尚有一些數位電路的基礎,但是由於沒有閱讀英文文件的習慣,依然給自己造成了不小的困擾。所以我第一篇先講述兩個最簡單的ip核,作為後面除錯板子的基礎工具,學會使用它們以及在此過程中學會自己查詢官方文件是非常重要的。以下開發環境為vivado。

第乙個要講的ip核就是vio。英文名為virtual input/output,即虛擬的輸入輸出。給出xilinx的文件**:

可以看到vio可以作為輸入輸出兩種功能來使用,可以實時監測和驅動fpga內部訊號。簡而言之,vio可以通過配置得到乙個0~256組探針,每一組位寬範圍為1到256的虛擬訊號,每一位都是可配置的。它的功能主要是在沒有實體器件的環境下作為一種模擬的輸入輸出,驗證自己**的正確性。

第二個ip核是ila,這在我們除錯板子的時候是很常見而且非常實用的。儘管在行為**中我們不需要加入ila就可以對輸入輸出、parameter、wire和reg型別的資料進行觀測,但是在程式燒進板子的時候我們是無法看到這些訊號的變化的,所以通過ila抓取自己想要觀測的訊號,就可以觀測它們,在燒進製元流檔案後觀測訊號以判斷**是否是正確的。下面給出官方文件的位址和一些截圖:

乙個工程中可以多次例化ila,乙個ila可以觀測多個訊號(可以設定位寬)。例化的時候找到ip source下instantiation template對應的verilog或者vhdl的**,然後修改括號內對應的訊號新增進自己的設計中即可使用ip核了。

Vivado PLL IP核的使用

當我們需要用到分頻或者倍頻的時候,就需要使用vivado中的 pll ip核來獲得我們想要的時鐘頻率。下面簡單說明一下如何配置pll ip核。1 查詢 pll ip核 2 指定用於分頻的輸入頻率 3 設定輸出頻率 相位以及占空比 4 設定locked訊號的名字 locked訊號是用來觀察pll輸出時...

BRAM對應的IP核呼叫和使用

vivado軟體中包含有三種型別的 ip核,包括資料處理類ip核 驅動類ip核 儲存類ip核。與bram對應的儲存型ip核是block memory generator bmg 我們常用的是單口bram,單口寫,單口讀。3 inte ce type表示bmg ip核的介面型別,如果用pl呼叫 bra...

FPGA RAM核的使用及除錯

隨機訪問儲存器 random access memory,ram 又稱作 隨機儲存器 是與cpu直接交換資料的內部儲存器,也叫主存 記憶體 它可以隨時讀寫,而且速度很快,通常作為作業系統或其他正在執行中的程式的臨時資料儲存媒介。儲存單元的內容可按需隨意取出或存入,且訪問的速度與儲存單元的位置無關的儲...