色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

FPGA開發Vivado的仿真設計案例分析

電子設計 ? 來源:CSDN 博主 ? 作者:FPGADesigner的博客 ? 2020-12-31 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

仿真功能概述

仿真FPGA開發中常用的功能,通過給設計注入激勵和觀察輸出結果,驗證設計的功能性。Vivado設計套件支持如下仿真工具:Vivado Simulator、Questa、ModelSim、IES、VCS、Rivera-PRO和Active-HDl。

Vivado的仿真流程如下圖所示:

pIYBAF9uKSCAeZp2AAY6pYr-mEE259.png

仿真可以在設計階段的不同時間點進行,主要包括如下三個階段:
RTL級行為仿真:在綜合和實現前便可驗證設計,用來檢查代碼語法和驗證代碼像設計者想要的功能一樣工作,早期的行為級仿真可以盡早發現問題;
綜合后仿真:使用綜合網表仿真,驗證綜合后設計滿足功能需求。該階段仿真不太常用,可以用時序仿真(timing simulation)來估計時間;功能仿真(functional sumulation)由層次化的網表組成,最底層由Xilinx原語構成;
實現后仿真:可以進行功能仿真和時序仿真,且與FPGA硬件上的工作情況最為接近,確保實現后設計滿足功能和時序要求。

時序仿真相比功能仿真要耗費大量的時間,但是可以檢測到功能仿真無法檢測的問題,比如:

由于屬性設置(綜合屬性、UNISIM庫屬性等),或不同仿真器對語法的不同解釋,導致綜合后或實現后功能發生改變;

雙口RAM讀寫沖突;

錯誤的、不合適的時序約束;

異步路徑操作問題;

由于優化技術引起的功能問題

Vivado Simulator支持VHDL(IEEE-STD-1076-1993)、Verilog(IEEE-STD-1364-2001)、SystemVerilog中的可綜合子集(IEEE-STD-1800-2009)三種硬件描述語言,此外還支持IEEE P1735加密標準。

使用TestBench和激勵文件

TestBench也是由HDL語言代碼編寫,其實例化了需要仿真的設計,生成設計所需要的激勵信號,監測設計輸出結果并檢查功能的正確性。一個簡單的TestBench可以僅僅將激勵順序地加載到設計的輸入管腳上;一個復雜的TestBench可能會包含子程序調用、從外部文件讀取激勵信號、條件化激勵和其它更多復雜的結構。

下面是編寫TestBench時極度推薦的一些注意事項:
在Verilog TestBench中總是使用timescale規定時間,如`timescale 1ns/1ps;
在仿真時間的0時刻,將所有的設計輸入初始化位為一個確定的值;
在綜合后和實現后的時序仿真中,會自動觸發全局置位/復位脈沖(GSR),這會讓所有的寄存器在仿真的前100ns內鎖定其值。因此在100ns之后再賦值激勵數據;
在全局置位、復位脈沖釋放之前就確保時鐘源已經開始工作。

指定仿真器位置

點擊Tools->Settings->Tool Settings->3rd Party Simulators:

o4YBAF9uKSKAKLixAACX1HFfe20711.png

Install Paths中定位仿真器的安裝路徑,Default Compiled Library Paths中指定與仿真器相關的編譯庫路徑。只有第三方仿真器需要在此設置,Vivado Simulator不需要設置。

編譯仿真庫

使用Vivado Simulator時,不需要編譯仿真庫。但是使用第三方仿真工具時,必須先編譯仿真庫,才能在第三方仿真工具中正確運行。仿真庫中包含了仿真模型,比如FPGA和IP的行為模型和時序模型。編譯之后的庫可以在多個設計工程中使用。

在編譯過程中,Vivado會創建一個仿真器用來參考編譯庫文件的初始化文件,該文件包含了一些控制變量,包括規定參考庫路徑、優化、編譯和仿真設置。如果沒有正確的初始化文件,就不能運行包含Xilinx原語的仿真。不同仿真器的初始化文件名稱如下:
Questa/ModelSim:modelsim.ini;
IES:cds.lib;
VCS:synopsys_sim.setup

如果使用的仿真器版本不變,只需要編譯一次庫文件即可;如果更換了Vivado或仿真器的版本,就必須重新編譯一次庫文件。編譯庫文件有Vivado IDE和Tcl命令兩種方法,本文介紹第一種。點擊Tools->Compile Simulation Libraries(即使不打開工程也有此命令)打開如下窗口:

pIYBAF9uKSOAPr-BAABxBPsneBo643.png


Simulator:選擇第三方仿真器;
Language:編譯庫到規定的語言,如果為All,則會根據選擇的仿真器自動選擇語言,如果仿真器支持混合語言仿真,則Verilog庫和VHDL庫都會編譯;
Library:選擇需要編譯的仿真庫(Unisim或Simprim),默認會編譯所有 的庫;
Family:編譯庫到規定的FPGA系列,默認會生成所有的器件系列;
Compiled library location:設置保存編譯庫結果的目錄路徑。默認情況下會保存在當前工程目錄的.cache/compile_simlib目錄下;
Simulator executable path:設置仿真器可執行文件所在的路徑;
Miscellaneous Options:使用Tcl命令設置一些其它選項;
Compile Xilinx IP:選擇是否編譯Xilinx IP的仿真庫;
Overwrite current pre-compiled libraries:選擇是否重寫當前預編譯庫;
Compile 32-bit libraries:默認為64bit模式,選中此項,仿真器編譯會在32bit模式下進行;
Verbose:Messages窗口默認有消息顯示數量限制,選中此選項后,相關命令會忽視此限制,所有消息都會顯示在Messages窗口中;
Command:展示了上述設置所等效的Tcl命令。

Xilinx仿真庫

設計者可以將Xilinx仿真庫用于任何支持VHDL-93和Verilog-2001語言標準的仿真器。庫中包含延遲與模型信息,可以正確地仿真Xilinx硬件器件。

仿真時,如果數據和時鐘同時發生變化,仿真器在判斷當前時鐘邊緣時會采樣上一個狀態的輸入,同時變換時刻的輸入會安排在下一個始終邊緣才有效。最好的做法當然是不要使數據信號和時鐘信號同時變換,以避免出現意料之外的仿真結果。

當設計者在設計中實例化了一個組件后,仿真器必須在庫中找到描述該組件功能的內容,以確保正確的仿真。下面列出Xilinx提供的仿真庫:
UNISIM:Xilinx原語的功能仿真,Verilog庫名為UNISIMS_VER。包含了器件原語和最低等級構建模塊的描述。
UNIMACRO:Xilinx宏的功能仿真,Verilog庫名為UNIMACRO_VER。當使用器件宏時,必須設置此庫。
UNIFAST:快速仿真庫,Verilog庫名為UNIFAST_VER。推薦在RTL行為級仿真中使用此庫,可以節省仿真運行時間。
SIMPRIMS_VER:Xilinx原語的時序仿真,僅支持Verilog,因此時序仿真僅支持Verilog語言。
SECUREIP:Xilinx復雜器件組件(如PCIE、高速收發器)的功能仿真和時序仿真庫,在Vivado安裝目錄的data/secureip目錄下可以查看完整IP列表。
XPM:Xilinx原語的功能仿真。

除了SECUREIP外,其它庫都位于Vivado安裝目錄data/Verilog或VHDL/src目錄內。設計者必須根據運行的仿真來設定不同的仿真庫。下表中給出了與不同仿真階段相關的仿真庫文件:

o4YBAF9uKSWAK6k3AAEng5KtVJs173.png

仿真設置

在仿真設置中規定目標仿真器、仿真集、仿真頂層模塊名稱等選項。打開Settings切換到Simulation標簽中,或在Flow Navigator中的Simulation上右鍵->Simulation Settings,打開設置窗口:

o4YBAF9uKSeAHcDBAACwRGccuU8550.png

其中Clean up simulation files表示重新運行仿真時會將現存的整個仿真目錄全部移除,其余設置選項很熟悉了,不多作介紹。下面著重介紹Simulator language,理解背后的處理機制,其值可選擇VHDL、Verilog或Mixed。

大多數的Xilinx IP只會生成單語言的行為仿真模型;某些第三方仿真工具也僅支持單語言仿真。通常應該將Simulator language設置為仿真工具支持的語言,以確保工具正常運行。如果IP核同時也可以生成該語言的行為模型再好不過,但是如果IP核不支持該設置,Vivado會自動從IP核的DCP文件中生成一個結構化仿真模型用于仿真,確保仿真可以正常運行。

仿真分辨率需要在TestBench中使用timescale設置,某些人認為設置一個粗略的仿真分辨率(如1s)可以提升仿真性能,這是錯誤的。在 Xilinx仿真模型中,大多數仿真時間是基于一個固定間隔,與仿真分辨率并無聯系。設置仿真分辨率主要是為了觀察更方便。但是某些Xilinx原語組件(如MMCM)需要1ps的分辨率才能在仿真中正常工作,最常用的分辨率設置是`timescale 1ns/1ps。

仿真集功能

Vivado提供了仿真集(Simulation Sets)功能,該機制可以讓用戶將不同設計階段所用到的不同源文件添加到各自的仿真集中。比如一個仿真集可以添加用于RTL行為級仿真的源文件,另一個仿真集添加用于實現后時序仿真的源文件。或者不同的仿真集提供對一個設計的不同測試方法,等等。

在創建或添加仿真源文件時,可以選擇將文件加入到哪個仿真集,或者創建新的仿真集:

當設計中存在多個仿真集時,當前運行使用的仿真集會顯示為Active狀態:

編輯:hfy


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

    關注

    30

    文章

    820

    瀏覽量

    129741
  • Vivado
    +關注

    關注

    19

    文章

    834

    瀏覽量

    68476
收藏 3人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    適用于Versal的AMD Vivado 加快FPGA開發完成Versal自適應SoC設計

    設計、編譯、交付,輕松搞定。更快更高效。 Vivado 設計套件提供經過優化的設計流程,讓傳統 FPGA 開發人員能夠加快完成 Versal 自適應 SoC 設計。 面向硬件開發人員的
    的頭像 發表于 05-07 15:15 ?530次閱讀
    適用于Versal的AMD <b class='flag-5'>Vivado</b>  加快<b class='flag-5'>FPGA</b><b class='flag-5'>開發</b>完成Versal自適應SoC設計

    Vivado 2018.3軟件的使用教程

    大家好,歡迎來到至芯科技FPGA煉獄營地,準備開啟我們的偉大征程!正所謂“兵馬未動,糧草先行”,戰前的準備自是必不可少,在FPGA的漫漫沙場,我們何以入場,何以取勝呢?在這里我們為各位戰友準備了vivado 2018.3的使用教
    的頭像 發表于 04-30 14:14 ?930次閱讀
    <b class='flag-5'>Vivado</b> 2018.3軟件的使用教程

    Vivado HLS設計流程

    為了盡快把新產品推向市場,數字系統的設計者需要考慮如何加速設計開發的周期。設計加速主要可以從“設計的重用”和“抽象層級的提升”這兩個方面來考慮。Xilinx 推出的 Vivado HLS 工具可以
    的頭像 發表于 04-16 10:43 ?656次閱讀
    <b class='flag-5'>Vivado</b> HLS設計流程

    AMD Vivado Design Suite IDE中的設計分析簡介

    本文檔涵蓋了如何驅動 AMD Vivado Design Suite 來分析和改善您的設計。
    的頭像 發表于 02-19 11:22 ?528次閱讀
    AMD <b class='flag-5'>Vivado</b> Design Suite IDE中的設計<b class='flag-5'>分析</b>簡介

    Vivado Design Suite用戶指南: 設計分析與收斂技巧

    電子發燒友網站提供《Vivado Design Suite用戶指南: 設計分析與收斂技巧.pdf》資料免費下載
    發表于 01-15 15:28 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南: 設計<b class='flag-5'>分析</b>與收斂技巧

    Vivado Design Suite用戶指南:邏輯仿真

    電子發燒友網站提供《Vivado Design Suite用戶指南:邏輯仿真.pdf》資料免費下載
    發表于 01-15 15:25 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:邏輯<b class='flag-5'>仿真</b>

    【米爾-Xilinx XC7A100T FPGA開發板試用】Key-test

    硬件: 一Xilinx XC7A100T FPGA開發板 二12V電源適配器 三下載器 四 win10筆記本 軟件: 一Vivado (指導手冊有詳細的安裝下載流程) 二官方按鍵示例工程 按鍵示例
    發表于 01-09 16:08

    Verilog 測試平臺設計方法 Verilog FPGA開發指南

    Verilog測試平臺設計方法是Verilog FPGA開發中的重要環節,它用于驗證Verilog設計的正確性和性能。以下是一個詳細的Verilog測試平臺設計方法及Verilog FPGA
    的頭像 發表于 12-17 09:50 ?1079次閱讀

    FPGA打磚塊小游戲設計思路

    ? 交流問題 ? Q :FPGA打磚塊小游戲,如何基于FPGA用verilog語言在Vivado平臺上寫打磚塊小游戲,最好能用到PS2與VGA。 A :以下是一個基于 FPGA? Ve
    的頭像 發表于 12-09 16:57 ?892次閱讀

    助力AIoT應用:在米爾FPGA開發板上實現Tiny YOLO V4

    、 使用 Vivado 綜合與部署 Verilog 到 米爾的ZU3EG FPGA開發板當 HLS 生成的 RTL 代碼準備就緒后,可以使用 Vivado 將模型部署到
    發表于 12-06 17:18

    正點原子fpga開發指南

    定制硬件加速的應用。 1. 開發環境搭建 1.1 安裝Xilinx Vivado Vivado是Xilinx提供的綜合設計環境,用于設計、仿真和調試
    的頭像 發表于 11-13 09:35 ?1979次閱讀

    每次Vivado編譯的結果都一樣嗎

    很多FPGA工程師都有這種困惑,Vivado每次編譯的結果都一樣嗎? 在AMD官網上,有這樣一個帖子: Are Vivado results repeatable for identical
    的頭像 發表于 11-11 11:23 ?1161次閱讀
    每次<b class='flag-5'>Vivado</b>編譯的結果都一樣嗎

    淺談Vivado編譯時間

    隨著FPGA規模的增大,設計復雜度的增加,Vivado編譯時間成為一個不可回避的話題。尤其是一些基于SSI芯片的設計,如VU9P/VU13P/VU19P等,布局布線時間更是顯著增加。當然,對于一些設計而言,十幾個小時是合理的。但我們依然試圖
    的頭像 發表于 09-18 10:43 ?2094次閱讀
    淺談<b class='flag-5'>Vivado</b>編譯時間

    如何在服務器上調試本地FPGA板卡

    ?》。 簡介 Vivado 可以在功能更強大的服務器上遠程運行,同時可以在本地PC上連接的 FPGA 板卡上進行開發調試。在此配置中,服務器和工作站必須安裝相同版本的
    發表于 07-31 17:36

    FPGA開發工具

    學習開發FPGA,需要預先準備好的工具嗎?比如示波器‘邏輯分析儀之類的。畢竟側重于硬件方面的處理。不知道和單片機開發有多少不同,和需要注意的地方。
    發表于 07-29 22:04
    主站蜘蛛池模板: 亚洲精品乱码久久久久久v 亚洲精品乱码电影在线观看 | 免费观看的毛片 | 久久综合视频网站 | 午夜射精日本三级 | 一个人免费完整在线观看影院 | 成年人在线免费观看视频网站 | 爽爽影院免费观看 | 金发欧美一区在线观看 | 国产成人啪精品视频免费网 | 美女爽到嗷嗷嗷叫 | 男人插女人动态图 | 午夜想想爱午夜剧场 | 亚洲黄色网页 | 日本免费一区二区三区最新vr | 十七岁日本免费完整版BD | 无码天堂亚洲国产AV久久 | 拔萝卜电视剧高清免费 | 精品久久日日躁夜夜躁AV | 国产99精品视频一区二区三区 | 久久re这里视频只精品首页 | 伊人综合在线影院 | 亚洲精品蜜桃AV久久久 | 视频一区国产在线二区 | 亚洲AV久久无码精品九号软件 | 小草高清视频免费直播 | 97国产精品久久精品国产 | 学校捏奶揉下面污文h | 手机在线观看无码日韩视频 | 国产成人精品午夜福麻豆报告 | 強姧伦久久久久久久久 | 无限资源在线完整高清观看1 | 国产乱国产乱老熟300部视频 | 国产区精品综合在线 | 玖玖爱这里只有精品视频 | 99视频免费观看 | 久久亚洲AV成人无码动态图 | 久久精品视频在线看15 | 国产中文在线 | 樱桃视频影院在线播放 | 色多多污污在线播放免费 | 亚洲高清毛片一区二区 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品