原创 FPGA去掉每幀幀尾無效的零數據

   在FPGA實現中,經常會遇到由上位機循環下發數據(文件),底層FPGA按照所要求的幀長度和幀間隔發送出去的情況。一般這個時候上位機下發的數據位寬爲32位,如果文件總長度不是4字節的整數倍,則會在末尾補零構成32位數據。這個時候FPG

原创 PN25碼

PN25碼多項式:x^5+x^2+1 生成的PN25碼爲: CD   21   5D  8F  9A  42  BB  1F  34  85  76  3E  69  0A   EC  7C  D2  15  D8  F9  A4  2B

原创 Xilinx RS編碼IP核仿真驗證

 最近做的項目中用到了RS編碼,FPGA代碼中是通過調用Reed-Solomon Encoder IP核來實現的。這裏以R-S(255,223)爲例,分別對單通道和多通道兩種情況進行了仿真驗證,下面給出具體的fpga ip核配置以及仿真結

原创 人性的弱點(五)減輕人生壓力

(1)堅信自己是世界上獨一無二的。          守護自己的本色纔是成全自己的唯一出路,而我們每一個人也只能成爲自己。 (2)規避疲勞不堪和焦躁不安的四種最佳方法。         最佳工作方法之一:收拾辦公桌,將緊急文件留在最方便之

原创 如何避免生成鎖存器?

      經過上面的討論,我們知道了組合邏輯中如果未給所有可能的輸入分配輸出,就是產生鎖存器!需要注意的是一定是組合邏輯纔會產生鎖存器,時序邏輯永遠不會! 既然我們知道了產生鎖存器的原因,我們自然知道如何規範代碼,爲所有可能的輸入分配

原创 Matlab矩陣複製擴充

考慮這個問題:定義一個簡單的行向量a 如何複製10行呢?即: 同理,對於一個列向量,如何複製 10 列呢?   關鍵函數1: repmat( A , m , n ):將向量/矩陣在垂直方向複製m次,在水平方向複製n次。 再舉一個例子

原创 Altera FPGA 使用JIC文件配置固化教程

很多做過單片機的朋友都知 道,我們在對MCU燒寫完程序固件後,那麼該程序固件就存儲在了該MCU內部。即使MCU斷電了再重新上電,程序也能繼續運行。這是因爲對MCU燒寫固件 的實質就是將程序固件寫入到MCU的片上程序存儲器ROM中,而現代的

原创 ISE中的時序報告

ISE中的時序報告分爲兩種: (1)Post-Map Static Report  (2)Post-Place & Route Static Timing Report  所謂Post-Map是佈局後(沒有佈線)的靜態時序報告,主要用於估

原创 RS編碼的matlab仿真和xilinx RS編碼IP核仿真驗證

   最近做的項目中用到了RS編碼,FPGA代碼中是通過調用Reed-Solomon Encoder IP核來實現的。由於項目中只要求做發送鏈路,對於整個發送鏈路的驗證便通過matlab來驗證。由於matlab rsenc

原创 人性的弱點(三)如何贏得他人同意的十二條規則

(1)你不可能在爭辯中獲勝; (2)如何避免製造敵人; (3)如果你錯了就承認; (4)從友善開始; (5)設法使對方立即說“是”; (6)給他人說話的機會; (7)如何使人與你合作; (8)站在他人的立場上來看問題; (9)瞭解每個人所

原创 AXI互聯矩陣

    AXI協議嚴格的講是一個點對點的主從接口協議,當多個外設需要互相交互數據時,我們需要加入一個AXI Interconnect模塊,也就是AXI互聯矩陣,作用是提供一個或多個AXI主設備連接到一個或多個AXI從設備的一種交換機制(有

原创 ZYNQ 開發流程

ZYNQ 的開發也是先硬件後軟件的方法。具體流程如下: 1) 在 Vivado 上新建工程,增加一個嵌入式的源文件。 2) 在 Vivado 裏添加和配置 PS 和 PL 部分基本的外設,或需要添加自定義的外設。 3) 在 Vivado

原创 人性的弱點(二)使人喜歡你的六條規則

(1)要對比人真心感興趣;          關心他人必須出於真心,不僅付出的人應該這樣,接受關心的人也理應如此。         自掃門前雪,休管他人瓦上霜的那種人,必會在有生之年大大上海到其他人,也就是這種人,顯示出人類卑瑣的一面。

原创 Vivado調試常見問題

(1)網絡被綜合以後找不到      可以在Verilog代碼中插入(*mark_debug = "true"*)屬性,這樣在Set Up Debug的時候可以快速找到這個信號。 (2)找不到Debug內核        大部分原因是d