日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPGA学习笔记1

發布時間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPGA学习笔记1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎關注我的微信公眾號,與我一起學習成長:

正點原子 FPGA學習筆記

前言

??最近發現自己對FPGA的理解遠遠沒有達到熟練的程度,對于協議部分,尤其是比較大的工程的源碼閱讀時,感到很困難,所以打算將正點原子的FPGA教程快快過一下。不求每個教學工程都可以搞懂,但求在遇到類似問題時,能夠快速想起,有一定的案例來供自己分析。下面是清明假期期間記錄的一些筆記,供以后查看。

學習筆記

第四章 Vivado 軟件的安裝和使用

安裝

  • 選擇全功能的版次,即“System Edition”,因為其中包含最多的子組件。
  • 使用

  • 工程類型選擇
  • “RTL Project”是指按照正常設計流程所選擇的類型,這也是常用的一種類型; “Post-synthesis Project”在導入第三方工具所產生的綜合后網表時才選擇; “I/O Planning Project”一般用于在開始 RTL 設計之前,創建一個用于早期IO 規劃和器件開發的空工程; “Imported Project” 用于從 ISE、 XST 或 Synopsys Synplify 導入現有的工程源文件; “Example Project”是指創建一個 Vivado 提供的工程模板。
  • 芯片板卡型號
  • 依據下面條件篩選,確定芯片板卡型號 Family:FPGA的家族 Package:封裝 Temperature:溫度 Speed:速度
  • 數據窗口區域
  • - Sources 窗口: 顯示層次結構(Hierarchy) 、 IP 源文件(IP Sources) 、庫(Libraries) 和編譯順序(CompileOrder)的視圖。 - Netlist 窗口: 提供分析后的(elaborated) 或綜合后的(synthesized) 邏輯設計的分層視圖。
  • 包含開發板上所有引腳分配的表格和 XDC 約束文件,位于資料盤(A 盤) \3_正點原子 ZYNQ 開發板原理圖文件夾下
  • 由于 ZYNQ 非易失性存儲器的引腳(如 SD 卡、 QSPI Flash) 是 ZYNQ PS 部分的專用引腳, 這些非易失性存儲器由 PS 的 ARM 處理器進行驅動, 需要將 bit 流文件和 elf 文件(軟件程序的下載文件) 合成一個 BOOT.BIN,才能進行固化
  • 在線邏輯分析儀
  • 在線邏輯分析儀的功能被稱為“集成邏輯分析器(Integrated Logic Analyzer, ILA) ”,Vivado 提供了三種具有不同集成層次的插入 ILA 方法。 1. 直接在 HDL 代碼中例化一個 ILA IP 核,,也被稱為“HDL 實例化調試探針流程” 2. 在綜合后的網表中,分別標記要進行調試觀察的各個信號,然后通過一個簡單的“Setup Debug”向導來設置各個探針和 ILA IP 核的工作參數,然后工具會根據用戶設置的參數,自動地生成各個ILA IP 核。這個方法也被稱為“網表插入調試探針流程”。 3. 手動地在 XDC 約束文件中書寫對應的 Tcl XDC 調試命令,在實現階段工具會自動讀取這 些命令,并在布局布線時加入這些 ILA IP 核。

    邏輯分析儀的使用方式,詳見正點原子FPGA教學內容。

  • Vivado 的 OOC(Out-of-Context)綜合的概念:
    對于頂層設計, Vivado 使用自頂向下的全局(Global)綜合方式,將頂層之下的所有邏輯模塊都進行綜合,但是設置為 OOC 方式的模塊除外,它們獨立于頂層設計而單獨綜合。其選項如下
  • 第九章 觸摸按鍵控制LED燈實驗

  • 邊沿檢測電路的生成邏輯:對輸入信號寄存兩拍,然后依據兩拍狀態不同判定輸入信號發生了上升沿調變還是下降沿調變。
  • 第十一章 IP 核之 MMCM/PLL 實驗

  • MMCM 的功能是 PLL 的超集。
  • MMCM 主要用于驅動器件邏輯(CLB、 DSP、 RAM 等)的時鐘。
  • PLL 主要用于為內存接口生成所需的時鐘信號,但也具有與器件邏輯的連接,因此如果需要額外的功能,它們可以用作額外的時鐘資源。
  • Xilinx 提供了用于實現時鐘功能的 IP 核 Clocking Wizard。
  • IP核clk_wiz_0中locked信號的理解:MMCM達到輸出時鐘與輸入時鐘的鎖相狀態需要需要一定的周期數,在剛上電時,輸出時鐘是不穩定的,不能用來驅動其他器件,所以需要用clcked信號來指示一下輸出時鐘是否達到的穩定可工作狀態。
  • 第十二章 IP 核之 RAM 實驗

  • 配置成 RAM 或者 ROM 使用的資源都是 FPGA 內部的 BRAM。
  • Operating Mode: RAM 讀寫操作模式。 共分為三種模式,分別是 Write First(寫優先模式)、 Read First(讀優先模式)和 No Change(不變模式)。
  • 寫優先模式:數據先寫入 RAM 中,然后在下一個時鐘輸出該數據; 讀優先模式:數據先寫入 RAM 中,同時輸出 RAM 中同地址的上一次數據; 不變模式:讀寫分開操作,不能同時進行讀寫。
  • “Primitives Output Register”默認是選中狀態,作用是打開 BRAM 內部位于輸出數據總線之后的輸出流水線寄存器,使得 BRAM 輸出的數據延遲一拍,以改善時序性能。(本實驗中取消選中)
  • 采用OOC模式,RAM IP核 “blk_mem_gen_0_synth_1”的綜合過程獨立于頂層設計的綜合,
  • .veo文件是 由 IP 核自動生成的只讀的 verilog 例化模板文件。
  • 第十三章 IP 核之 FIFO 實驗

  • FIFO被劃分為同步 FIFO 和異步 FIFO。同步FIFO 是指讀時鐘和寫時鐘為同一個時鐘,常用于同步時鐘的數據緩存異步FIFO 是指讀寫時鐘是互相獨立的,常用于跨時鐘域的數據信號的傳遞
  • 異步FIFO系框圖
  • 第十四章 UART 串口通信實驗

  • 串口通信實驗系框圖
  • 接收模塊實現邏輯
  • 1. 捕獲接收端口下降沿(起始位) 2. 捕獲起始位后,進入接收狀態(當采樣指定bits數據后進入空閑態) 3. 進入接收過程后,啟動系統時鐘計數器(多少個系統時鐘為一個接收數據時鐘) 4. 進入接收過程后,啟動接收數據計數器(經過了多少個接收數據時鐘,就接收了多少個bits的數據) 5. 每個數據的中間進行采樣 6. 接收數據計數器計數完成后,將數據和接收完成信號發送給 環回 模塊

    選擇 clk_cnt 計數至 BPS_CNT/2 時寄存接收端口數
    ,是因為計數到數據中間時的采樣結果最穩定。

    串口接收過程結束條件的判定:在連續接收數據時,提前半個波特率周期結束接收過程可以為檢測下一幀數據的起始位留出充足的時間。

  • 環回模塊實現邏輯
  • 1. 捕獲recv_done上升沿,得到一個時鐘周期的脈沖信號 2. 判斷接收完成信號,并在串口發送模塊空閑時給出發送使能信號(數據可以直接連過去,但使能信號必須在發送模塊空閑的前提下使能)

    tx_ready信號與前面rx_flag信號一致,只要檢測到起始邊沿,一定進入該狀態,但關閉的時候是基于另外的信號來實現的。

  • 發送模塊實現邏輯
  • 1. 捕獲環回模塊上升沿 2. 捕獲環回模塊上升沿后,進入發送過程,并寄存待發送的數據(當發送指定bits數據后進入空閑態) 3. 進入發送過程后,啟動系統時鐘計數器(多少個系統時鐘為一個發送數據時鐘) 4. 進入發送過程后,啟動發送數據計數器(經過了多少個發送數據時鐘,就發送了多少個bits的數據) 5. 每個數據時鐘后切換數據(起始位為0,最后停止位為1) 6. 另:在串口發送過程中給出忙狀態標志

    將 tx_flag 提前 1/16 個停止位拉低的原因:考慮到我們模塊里計算波特率會有較小的偏差, 并且串口對端的通信設備(如電腦等)收發數據的波特率同樣可能會出現較小的偏差,因此這里為了確保環回實驗的成功,這里將發送模塊的停止位略微提前結束。(收發理論上是同時的,但收到發有一定延時,故需要讓發提前,確保通信正確)

    第十五章 RS485 串口通信實驗

  • 模塊間的交互關鍵是生成enable信號,只要確保enable信號有效時,輸入數據有效即可。在某些需要并行轉串行的模塊中,需要輸入的信號持續有效,這時就要對發送端進行限制確保其輸出值保持固定時間有效。
  • 參考內容

    正點原子 領航者ZYNQ開發板資料盤(http://www.openedv.com/docs/)

    總結

    以上是生活随笔為你收集整理的FPGA学习笔记1的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。