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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Vivado的安装以及使用_入门

發布時間:2023/12/10 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vivado的安装以及使用_入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Vivado的安裝以及使用

零. Vivado簡要介紹

Vivado是FPGA廠商賽靈思提供的一款EDA(Electronic Design Automation)工具. 在電子設計自動化方面, 其主要提供了四種功能: RTL代碼編寫, 功能仿真, 綜合(synthesis)以及實現(implementation).

  • 其中, RTL代碼編寫用于編寫設計的HDL描述(利用VHDL和System Verilog兩種語言);
  • 功能仿真用于測試編寫出的代碼功能是否符合預期, 需要編寫相關的testbench文件;
  • 綜合用于講RTL級描述轉換為門級網表(門級網表是指設計的門級實現,包含門級元件和元件之間的連接, 從而更接近底層設計);
  • 實現用于將門級網表轉換為可以下載到FPGA開發板上的比特流.

vivado在數字集成電路設計過程中的作用

一. vivado的安裝

Vivado的安裝已經有好多文章介紹過, 在這里給出一篇文章
https://blog.csdn.net/taowei1314520/article/details/74860356

二. 使用vivado完成一個小設計-計數器

在這里我們以一個4進制計數器的設計為例, 講解我們如何使用Vivado進行工程設計
1. 新建工程
在菜單中點擊file->project->new新建project

新建工程命令所在位置

新建project的時候注意選擇合適的存放路徑, 然后點擊next; 選擇RTL Project, 點擊next; 選擇對應的開發板, 點擊next; 點擊finish, 完成工程的新建.

新建工程過程示意圖

新建工程project 4 后的Vivado界面
  • 新建設計文件
    在界面中找到"Source"框, 點擊"+", 選擇"Add or create design sources", 點擊next.
  • 新建設計文件過程示意圖一

    點擊Creat file, 指定語言類型, 文件名字, 文件存放的位置, 完成設計文件的新建.

    新建設計文件過程示意圖二

    新建file之后的界面, 如下圖, 雙擊Source的設計文件(在這里, 我命名為counter), 即可打開, 進行編輯.

    新建完成設計文件后的Source窗口示意圖
  • 完成設計文件的編寫
    這里以一個四進制的計數器為例, 代碼如下所示.
  • // 這是一個從0開始計數, 可配置位數(更改WIDTH), 輸入為時鐘信號和復位信號, 輸出計數器當前的值和計滿信號的計數器. module counter#( parameter WIDTH = 4)(input clk,input preset,output reg [WIDTH-1:0] count,output reg full);// always時許塊中使用非阻塞賦值always @ (posedge clk or negedge preset) begin //時鐘上升沿和復位下降沿觸發if(~preset)begincount <= 0;endelse begin //一定要加elsecount <= count+1;endendalways@(*)beginfull = (count==2**WIDTH-1);endendmodule
  • 新建仿真文件
    與新建設計文件類似
    • 在界面中找到"Source"框, 點擊"+", 選擇"Add or create simulation sources", 點擊next.
    • 點擊Creat file, 指定語言類型, 文件名字, 文件存放的位置, 完成仿真文件的新建.
    • 雙擊Source窗口下面, "Simulation Sources"下的設計文件(在這里, 我命名為counter), 即可打開, 進行編輯.
  • 仿真文件所在處
  • 完成仿真文件的編寫
    該四進制的計數器的tesetbenc文件如下:
  • `timescale 1ns / 1psmodule counter_testbench#(parameter WIDTH=4)();// 給出對應的端口reg clk;reg reset;wire [WIDTH-1:0] count; // 接收模塊的輸出(wire)wire full;// 激勵的產生initial beginclk = 0;reset = 1;#25 reset = 0;#25 reset = 1; endalways begin# 5 clk = ~clk;endalways begin#100;if ($time >= 10000) $finish ;end// 連接counter c1(.clk(clk),.preset(reset),.count(count),.full(full));endmodule
  • 點擊"Run Simulation"進行功能仿真
  • SIMULATION按鈕所在處

    仿真結果如下圖所示, 可見, 該計數器功能正常

    仿真結果
  • 點擊SYTHESIS按鈕, 進行綜合, 以獲得對應門級網表
  • 綜合按鈕所在處
  • 點擊IMPLEMENTATUON按鈕, 進行實現, 以獲得比特流
  • 實現按鈕所在處

    三. 使用vivado過程中可能遇到的問題(持續更新中)

  • 功能仿真時顯示(current time: 0fs)
    遇到這個問題, 點擊結束仿真, 會跳到出現問題的那一行
    可能原因:
    - 在設計文件中, always沒有加敏感信號列表
    - 循環為死循環, 缺少跳出循環的條件
  • 功能仿真時, 輸出信號均為X
    可能原因:
    - reset信號沒有連接上, 在寫異步復位時候一定要嚴格按照以下格式(if 和 else)
  • always @ (posedge clk or negedge preset) begin //時鐘上升沿和復位下降沿觸發if(~preset)begincount <= 0;endelse begin //一定要加elsecount <= count+1;endend

    四. 擴展閱讀資料

    上面只是簡單介紹了Vivado的部分內容, 想要更加詳細, 更加具體地了解Vivado的使用, 還可以閱讀Vivado的官方用戶手冊.查找地址: https://china.xilinx.com/products/design-tools/vivado.html#resources

    總結

    以上是生活随笔為你收集整理的Vivado的安装以及使用_入门的全部內容,希望文章能夠幫你解決所遇到的問題。

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