精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用Vivado Block Design設計解決項目繼承性問題

OpenFPGA ? 來源:OpenFPGA ? 2023-02-13 11:02 ? 次閱讀

緒論

使用Vivado Block Design設計解決了項目繼承性問題,但是還有個問題,不知道大家有沒有遇到,就是新設計的自定義 RTL 文件無法快速的添加到Block Design中,一種方式是通過自定義IP,但是一旦設計的文件有問題就需要重新修改,同時需要控制接口時候還需要在AXI總線模板基礎上進行修改,再同時繁瑣的步驟也讓人“望而卻步”。下面介紹一種簡單的方式。

34d90572-ab49-11ed-bfe3-dac502259ad0.png

我目前使用的是 Vivado 2019.1、2020.2,但據我所知,此功能幾乎適用于 Vivado 的所有版本(如果不正確,請隨時在后臺更正)。

創建 Vivado 項目

為了開始這個例子,我創建了一個基于 Zynq 的新 Vivado 項目(這只是我的例子,但這個項目的內容并不特定于任何特定的 FPGA 開發板),同時這個項目中包括一個通過AXI-Lite控制的自定義RTL。

添加設計文件并編寫自定義 RTL

不用于仿真目的的自定義 RTL(即測試文件)都被視為 Vivado 中的設計源。使用 Flow Navigator 中的Add Sources選項并選擇Add or create design sources ,然后單擊 Next。

34ee91e4-ab49-11ed-bfe3-dac502259ad0.png35080f2a-ab49-11ed-bfe3-dac502259ad0.png

我們創建一個名為D_flipflop的新文件并添加了以下邏輯:

moduleD_flipflop(
inputclk,
inputreset,
inputd_in,
outputregq_out
);

always@(posedgeclk)
begin
if(reset==1'b1)
begin
q_out<=?1'b0;
????????????????end
????????????else?
????????????????begin
????????????????????q_out?<=?d_in;
????????????????end
????????end
endmodule

創建Block Design

使用 Flow Navigator 窗口中的Create Block Design選項,將新的Block Design添加到項目中。

3522af1a-ab49-11ed-bfe3-dac502259ad0.png

將 Zynq 處理系統 IP 塊添加到設計中,并運行自動設置或者自動連線。

35316b68-ab49-11ed-bfe3-dac502259ad0.png

將 RTL 模塊添加到Block Design

要添加我們在上一步中創建的 D 觸發器的 RTL 模塊,右鍵單擊 Diagram 窗口空白處的任意位置,然后選擇Add Module...選項。

35316b68-ab49-11ed-bfe3-dac502259ad0.png

Vivado 將自動顯示它在當前項目中找到的所有有效 RTL 模塊。由于寫入或導入到當前項目中的模塊是我們剛剛設計的 D 觸發器,因此它是本例中的唯一選項。

35b2dd06-ab49-11ed-bfe3-dac502259ad0.png

為了給觸發器提供源,我添加了一個 AXI GPIO IP ,其中第一個通道作為輸出,第二個通道作為輸入。自動連接即可。

35dc9b82-ab49-11ed-bfe3-dac502259ad0.png

為 AXI GPIO 模塊運行自動連接后,將輸出 GPIO 通道連接到觸發器的 d_in,將觸發器的 q_out 連接到輸入 GPIO 通道。

35f00c44-ab49-11ed-bfe3-dac502259ad0.png

全部連接好后,點擊那個勾勾進行驗證。

35fd9ac6-ab49-11ed-bfe3-dac502259ad0.png

Block Design完成后,為Block Design生成頂層文件。

36117604-ab49-11ed-bfe3-dac502259ad0.png

完成后可以看下整個項目的文件層次結構。

36284abe-ab49-11ed-bfe3-dac502259ad0.png

就是這樣,OVER~






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HDL
    HDL
    +關注

    關注

    8

    文章

    327

    瀏覽量

    47341
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59710
  • AXI總線
    +關注

    關注

    0

    文章

    66

    瀏覽量

    14250
  • Vivado
    +關注

    關注

    19

    文章

    808

    瀏覽量

    66336

原文標題:[Vivado那些事兒]將自定義 IP (HDL)添加到 Vivado 模塊設計(Block Design)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Vivado 2015.2塊設計上打開子層次結構彈出一個新的Block Design窗口

    假設我在Vivado 2015.2的Block Design中有三層設計。此塊設計看起來像Hierarchy_0(Hierarchy_1(Hierarchy_2))。當我雙擊
    發表于 12-25 10:58

    無法打開Vivado項目

    我正在嘗試打開一個在運行Ubuntu的Linux機器上的Windows機器上創建的Vivado項目。我們購買了ZC706設計板,并正在嘗試為該特定板設計一個設計。當我在Linux VM上打開
    發表于 03-28 15:25

    使用VIVADO IDE設計的最有效方法是什么?

    vivado you can now use IP integrator in which it is using IP to create a Block design.What is the most
    發表于 03-29 09:14

    如何使用Vivado IP Block Design

    的是如何使用它或將其轉移到普通的Vivado項目,這樣我就可以應用測試平臺并對其進行測試。從我的角度來看,IP塊設計是加載IP和進行互連的好方法。但是,使用它還需要其他步驟。我錯了嗎?我花了幾個星期的時間嘗試將
    發表于 03-20 08:52

    VivadoBlock Design如何改名稱?

    在一個Demo中找到一個工程叫petalinux_sd,我將它另存為My_Work,可是其中的Block Design仍然叫petalinux_sd,其頂層文件仍然叫
    發表于 08-06 16:04

    Vivado的helloword程序(一):硬件工程部分

    硬件平臺:ZedBoard 軟件平臺:vivado2013.3 本示例通過綜合、實現,生成比特流,發送到SDK實現。 啟動vivado并且創建一個項目 根據提示操作一步步創建新項目的時
    發表于 02-07 20:42 ?629次閱讀
    <b class='flag-5'>Vivado</b>的helloword程序(一):硬件工程部分

    Vivado Design Suite 2014.4.1 現已推出!

    Vivado? Design Suite 2014.4.1 現已推出,針對 UltraScale? 器件進行了更新,其中包括對 Kintex? UltraScale XCKU040 生產的支持。該
    發表于 02-09 09:06 ?345次閱讀

    Block Design中的Bug的解決辦法及解決思路

    Block Design 作為VIVADO的一大新神器,給用戶設計帶來了極大的方便,能夠根據用戶的定制需求自動選擇、組合以及連接不同的IP。然而,其中不可控的Bug也給用戶帶來了一定的煩惱。這篇博
    發表于 02-09 09:44 ?8422次閱讀
    <b class='flag-5'>Block</b> <b class='flag-5'>Design</b>中的Bug的解決辦法及解決思路

    C++多繼承的二義性問題

    在多重繼承中,需要解決的主要問題是標識符不唯一,即二義性問題。
    的頭像 發表于 03-14 15:26 ?7715次閱讀
    C++多<b class='flag-5'>繼承</b>的二義<b class='flag-5'>性問題</b>

    Vivado Design Suite設計套件的UltraFast設計方法的介紹

    UltraFast設計方法對您在Vivado Design Suite中的成功至關重要。 介紹UltraFast for Vivado并了解可用的材料,以幫助您在整個設計周期中應用UltraFast方法
    的頭像 發表于 11-20 06:48 ?2481次閱讀

    C語言派生類的定義與繼承性認識的實驗和源代碼免費下載

    本文檔的主要內容詳細介紹的是C語言派生類的定義與繼承性認識的實驗和源代碼免費下載。
    發表于 11-01 15:07 ?10次下載

    Vivado BDC (Block Design Container)怎么用

    操作。 Vivado早期版本IPI中的“Block”必須是來自于IP Catalog中的IP,所以對于用戶的RTL代碼就必須先用IP Packager封裝為IP,然后才能添加到IPI中。這就帶
    的頭像 發表于 11-09 09:43 ?4391次閱讀

    將RTL模塊添加到Block Design的步驟

    使用Vivado Block Design設計解決了項目繼承性問題,但是還有個問題,不知道大家有沒有遇到,就是新設計的自定義 RTL 文件無
    的頭像 發表于 06-11 16:27 ?3593次閱讀
    將RTL模塊添加到<b class='flag-5'>Block</b> <b class='flag-5'>Design</b>的步驟

    Vivado Design Suite教程:動態功能交換

    電子發燒友網站提供《Vivado Design Suite教程:動態功能交換.pdf》資料免費下載
    發表于 09-14 15:13 ?0次下載
    <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Suite教程:動態功能交換

    Vivado Design Suite用戶指南:使用約束

    電子發燒友網站提供《Vivado Design Suite用戶指南:使用約束.pdf》資料免費下載
    發表于 09-13 15:48 ?2次下載
    <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Suite用戶指南:使用約束