原创 xilnx 萬兆光纖GTH傳輸字節不對齊解決方法

光纖傳輸 最近有光纖傳輸的需求,硬件平臺是KCU1500,如下圖: 調用的IP核爲Transceivers,具體參數如下圖 對照手冊,應該沒什麼問題,然後右鍵產生基礎工程,然後在其基礎上進行修改,這裏主要討論的一個問題是,實際

原创 riffa ultrascale fpga上的移植測試,WIN7條件下

Riffa最初是國外大學http://riffa.ucsd.edu/download開發維護的,但是貌似已經不再更新維護了,相關源代碼github還是可以找到的,有需要可以直接上github上找,最終的版本只能支持到GEN3的12

原创 DDR4 MIG IP核 FPGA使用及讀寫測試

**前言** Xilinx提供了這樣的IP核,名爲MIG(Memory Interface Generator),它可以爲提供DDR3、DDR4等多種存儲器提供接口。本次DDR4讀寫採用的就是這個IP核,不過7系的FPGA與Ul

原创 Altera GXB和xilinx GTH光纖互連通信設計

1.背景 最近有Altera芯片Stratix_IV系列的EP4SGX230與Xilinx的 芯片KCU1500,通過QSFP+ 進行數據傳輸:其中EP4SGX230的底層叫GTB,KCU1500是GTH,編碼方式都是採用的8b/

原创 ZYNQ BRAM_ctrl PS PL通信報錯

zynq ps pl進行數據交互時,對於小批量的數據,bram_ctrl是一個不錯的選擇,我這裏是直接將接口開放到PL端;本人在vivado 2018.3使用時,出現了以下錯誤: ERROR: [axi_bram_cntlr-

原创 AD9371、AD9361、ADRV9009驅動開發、調試

ADRV9361、AD9371、9009是有ADI開發的射頻直採芯片。 ADI官方提供的demo都是給予總線架構的,個人認爲不方便移植,下面就單獨就AD9371的開發架構做一個簡單的說明: ADI官方驅動是基於總線架構的,具體的架

原创 spatan6的EMMC DDR3控制器 EMMC驅動開發

1.背景與介紹 最近通過spatan6管理一片EMMC存儲芯片,採用的是純邏輯語言管理EMMC芯片,EMMC採用的是JEDCE發佈的emmc 5.1版本的協議,但是由於EMMC的存儲的速度有限,固在設計的前端加了一片DDR3控制器

原创 Vivado Fir Ip核動態更改濾波器係數

有時在設計過程中,可能需要不同的濾波效果,如果採樣率一樣的情況下,我們有兩種方式進行切換系數,其中一種就是真正意義上的動態切換,如下圖: 這種方式適合真正意義上的係數從新加載,但是配置相對複雜,但是省資源,如果只是少數的幾種參數

原创 AD9361晶振 晶體選擇

實際使用AD9361時,有時硬件電路設計對於參考晶振是有兩種選擇的,一種是晶體 一種是晶振 再設置過程中,比如配置軟件設置 這種設置一般是用了內部的DXCO,外面的晶體是需要藉助DXCO纔可以,實際的硬件電路旺旺如下圖: 對

原创 Verilog語法中defparam用法

有的時候仿真希望仿真跑的快點,再不修改實際工程代碼的前提下,可以通過defparam 對程序中的paramameter 進行二次賦值,該值只對仿真過程中有效,不影響實際仿真結果 例如:程序中有3個變量 再測試激勵中通過下面語句進

原创 VIVADO XDC約束注意事項

原文地址:http://xilinx.eetrend.com/d6-xilinx/blog/2016-06/10241.html 在ISE時代,使用的是UCF約束文件。從Vivado開始,XDC成了唯一支持的約束標準。XDC除

原创 VIVADO vhdl verilog 實現矩陣運算

FPGA開發過程中可能用到矩陣算法運算,這裏介紹一個相對比較簡單的方式 比如一個32*32的矩陣結構爲: 我們可以用兩個RAM和一個運算單元及一個輸出緩存RAM進行緩存結果: 具體的框架爲下入所示: 存放的順序爲: 程序主要

原创 FPGA AD9656 9680 9689 JESD204B 調試 驅動開發

最近有做過這3個AD的驅動開發,等有空的時候來更新一下具體驅動

原创 ViVado SDK閃退解決方法

有時直接關機重新開機打開vivado。再次launch sdk時發現SDK無法打開,出現閃退,出現這種現象可以刪除SDK目錄下的 文件,然後重新launch,然後import之前的工程即可。

原创 FPGA AD9361 9364 verilog 驅動調試開發 純邏輯驅動

AD9361 爲ADI第一代射頻直採芯片,廣泛運用在各大領域,比如無線圖傳、通信。同樣官方的demo也是基於zynq總線架構的,這裏不在介紹官方架構,而是採用純邏輯語言進行驅動,這樣對平臺的依懶性就很小了。 首先我們需要採用官方的