在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

FPGA仿真方法及仿真程序的編寫介紹

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-04-25 08:00 ? 次閱讀

一、概述

FPGA仿真方法:

(1)交互式仿真方法:利用EDA工具仿真器進行仿真,使用方便,但輸入輸出不便于記錄規檔,當輸入量較多時不便于觀察和比較。

(2)測試平臺法:為設計模塊專門設計的仿真程序,可以實現對被測模塊自動輸入測試矢量,并通過波形輸出文件記錄輸出,便于將仿真結果記錄歸檔和比較。

二、仿真程序的設計方法

1 仿真的三個階段

(1)行為仿真:目的是驗證系統的數學模型和行為是否正確,對系統的描述的抽象程度較高。在行為仿真時,VHDL的語法語句都可以執行。

(2)RTL仿真:目的是使被仿真模塊符合邏輯綜合工具的要求,使其能生成門級邏輯電路。在RTL仿真時,不能使用VHDL中一些不可綜合和難以綜合的語句和數據類型。該級仿真不考慮慣性延時,但要仿真傳輸延時。

(3)門級仿真:門級電路的仿真主要是驗證系統的工作速度,慣性延時僅僅是仿真的時候有用在綜合的時候將被忽略。

2 仿真程序的內容

(1)被測實體的引入。

(2)被測實體仿真信號的輸入。

(3)被測實體工作狀態的激活。

(4)被測實體信號的輸出

(5)被測實體功能仿真的結果比較,并給出辨別信息

(6)被測實體的仿真波形比較處理

3 仿真要注意的地方

(1)仿真信號可以由程序直接產生,也可以用TEXTIO文件產生后讀入。

(2)仿真程序中可以簡化實體描述,省略有關端口的描述。仿真程序實體描述的簡化形式為:

ENTITY 測試平臺名 IS

END 測試平臺名;

(3)對于功能仿真結果的判斷,可以用斷言語句(ASSORT)描述。

(4)為了比較和分析電子系統的功能,尋求實現指標的最佳結構,往往利用一個測試平臺對實體的不同結構進行仿真,一般是應用配置語句為同一被測實體選用多個結構體。

CONFIGURATION 測試平臺名 OF 被測實體名 IS

FOR 被測實體的A的結構體名

END FOR;

END 測試平臺名;

同樣,若選用結構體B,則配置語句可寫為:

CONFIGURATION 測試平臺名 OF 被測實體名 IS

FOR 被測實體的B的結構體名

END FOR;

END 測試平臺名;

4 VHDL仿真程序結構

測試平臺僅僅是用于仿真,因此可以利用所有的行為描述語言進行描述,下表表示了一個測試平臺所包含的部分,典型的測試平臺將包括測試結果和錯誤報告結果。

(1)產生時鐘信號

FPGA仿真方法及仿真程序的編寫介紹

(2)提供仿真信號

提供仿真信號可以有兩種方法:絕對時間仿真和相對時間仿真。在絕對時間仿真方法中,仿真時間只是相對于零時刻的仿真時間。在相對時間仿真方法中,仿真的時間首先提供一個初值,在后繼的時間設置中相對于該初始時間進行事件動作。

絕對時間仿真:

MainStimulus: process begin

Reset 《= ’1’;

Load 《= ’0’;

Count_UpDn 《= ’0’;

wait for 100 ns;

Reset 《= ’0’;

wait for 20 ns;

Load 《= ’1’;

wait for 20 ns;

Count_UpDn 《= ’1’;

end process;

相對時間仿真:

Process (Clock)

Begin

If rising_edge(Clock) then

TB_Count 《= TB_Count + 1;

end if;

end process;

SecondStimulus: process begin

if (TB_Count 《= 5) then

Reset 《= ’1’;

Load 《= ’0’;

Count_UpDn 《= ’0’;

Else

Reset 《= ’0’;

Load 《= ‘1’;

Count_UpDn 《= ‘1’;

end process;

FinalStimulus: process begin

if (Count = “1100”) then

Count_UpDn 《= ‘0’;

report “Terminal Count

Reached, now counting down.”

end if;

end process;

(3)顯示結果

VHDL提供標準的std_textio函數包把輸入輸出結果顯示在終端上。

5 簡單的仿真程序

library IEEE;

use IEEE.std_logic_1164.all;

entity testbench is

end entity testbench;

architecture test_reg of testbench

component shift_reg is

port (clock : in std_logic;

reset : in std_logic;

load : in std_logic;

sel : in std_logic_vector(1 downto 0);

data : in std_logic_vector(4 downto 0);

shiftreg : out std_logic_vector(4 downto 0));

end component;

signal clock, reset, load: std_logic;

signal shiftreg, data: std_logic_vector(4 downto 0);

signal sel: std_logic_vector(1 downto 0);

constant ClockPeriod : TIME := 50 ns;

begin

UUT : shift_reg port map (clock =》 clock, reset =》 reset,

load =》 load, data =》 data,

shiftreg =》 shiftreg);

process begin

clock 《= not clock after (ClockPeriod / 2);

end process;

process begin

reset 《= ’1’;

data 《= “00000”;

load 《= ’0’;

set 《= “00”;

wait for 200 ns;

reset 《= ’0’;

load 《= ’1’;

wait for 200 ns;

data 《= “00001”;

wait for 100 ns;

sel 《= “01”;

load 《= ’0’;

wait for 200 ns;

sel 《= “10”;

wait for 1000 ns;

end process;

end architecture test_reg;

6 TEXTIO建立測試程序

在由仿真程序直接產生輸入信號的方法中,測試矢量是仿真程序的一個部分,如果系統比較復雜,測試矢量的數目非常大,修改測試矢量時就必須修改程序,重新編譯和仿真。工作量大。因此,在測試矢量非常大的時候可以用TEXTIO的方法來進行仿真。

TEXTIO仿真方法:測試矢量從仿真程序中分離出來,單獨存于一個文件中(即TEXTIO文件),在仿真時,根據定時要求按行讀出,并賦予相應的輸入信號。這種方法允許采用同一個測試平臺,通過不同的測試矢量文件進行不同的仿真。值得注意的是,測試矢量文件的讀取,需要利用TEXTIO程序包的功能。在TEXTIO程序包中,包含有對文本文件進行讀寫的過程和函數。

LIBRARY IEEE;

USE IEEE.std_logic_1164.all;

LIBRARY ieee;

USE IEEE.STD_LOGIC_TEXTIO.ALL;

USE STD.TEXTIO.ALL;

ENTITY testbench IS

END testbench;

ARCHITECTURE testbench_arch OF testbench IS

COMPONENT stopwatch

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

    關注

    1629

    文章

    21744

    瀏覽量

    603662
  • 仿真
    +關注

    關注

    50

    文章

    4087

    瀏覽量

    133651
  • eda
    eda
    +關注

    關注

    71

    文章

    2759

    瀏覽量

    173320
收藏 人收藏

    評論

    相關推薦

    基于Altera FPGA的軟硬件協同仿真方法介紹

    摘要:簡要介紹了軟硬件協同仿真技術,指出了在大規模FPGA開發中軟硬件協同仿真的重要性和必要性,給出基于Altera FPGA的門級軟硬件協
    發表于 07-04 06:49

    FPGA仿真有什么方法?其仿真程序該怎么設計?

    FPGA仿真有什么方法?(1)交互式仿真方法:利用EDA工具的仿真器進行
    發表于 08-30 07:13

    FPGA仿真程序的設計方法,有什么注意事項?

    FPGA仿真方法有哪幾種FPGA仿真程序的設計方法
    發表于 04-29 06:15

    LED控制VHDL程序仿真

    LED控制VHDL程序仿真分別介紹采用FPGA對LED進行靜態和動態顯示的數字時鐘控制程序。1. 例1:
    發表于 06-27 11:20 ?1517次閱讀

    基于Xilinx FPGA和VHDL的數字秒表設計與仿真實現

    文中著重介紹了一種基于FPGA利用VHDL硬件描述語言的數字秒表設計方法,在設計過程中使用基于VHDL的EDA工具ModelSim對各個模塊仿真驗證,并給出了完整的源
    發表于 12-25 11:19 ?6608次閱讀

    如何使用QuartusⅡ軟件來編寫FPGA?

    本文主要詳細介紹了使用QuartusⅡ軟件來編寫FPGA方法及步驟,另外還介紹了Quartus II仿
    的頭像 發表于 05-18 10:11 ?1.5w次閱讀

    使用51單片機進行流水燈閃爍使用proteus仿真和keil編寫程序資料說明

    本文檔的主要內容詳細介紹的是使用51單片機進行流水燈閃爍使用proteus仿真和keil編寫程序資料說明。
    發表于 05-07 08:00 ?20次下載
    使用51單片機進行流水燈閃爍使用proteus<b class='flag-5'>仿真</b>和keil<b class='flag-5'>編寫程序</b>資料說明

    FPGA仿真的學習課件和工程文件免費下載

    本文檔的主要內容詳細介紹的是FPGA仿真的學習課件和工程文件免費下載包括了:1、testbench編寫,2、仿真工具使用,2、
    發表于 12-10 15:28 ?30次下載

    使用FPGA實現自動售貨機的VHDL程序仿真資料

    本文檔的主要內容詳細介紹的是使用FPGA實現自動售貨機的VHDL程序仿真資料。
    發表于 12-21 17:10 ?24次下載
    使用<b class='flag-5'>FPGA</b>實現自動售貨機的VHDL<b class='flag-5'>程序</b>與<b class='flag-5'>仿真</b>資料

    使用FPGA實現電子琴設計的程序仿真資料免費下載

    本文檔的主要內容詳細介紹的是使用FPGA實現電子琴程序設計的程序仿真資料免費下載。
    發表于 01-18 17:17 ?39次下載
    使用<b class='flag-5'>FPGA</b>實現電子琴設計的<b class='flag-5'>程序</b>與<b class='flag-5'>仿真</b>資料免費下載

    使用FPGA實現LCD控制的VHDL程序仿真資料免費下載

    本文檔的主要內容詳細介紹的是使用FPGA實現LCD控制的VHDL程序仿真資料免費下載。
    發表于 01-18 17:19 ?10次下載
    使用<b class='flag-5'>FPGA</b>實現LCD控制的VHDL<b class='flag-5'>程序</b>與<b class='flag-5'>仿真</b>資料免費下載

    使用FPGA實現LED控制的VHDL程序仿真資料免費下載

    本文檔的主要內容詳細介紹的是使用FPGA實現LED控制的VHDL程序仿真資料免費下載。
    發表于 01-18 17:32 ?12次下載
    使用<b class='flag-5'>FPGA</b>實現LED控制的VHDL<b class='flag-5'>程序</b>與<b class='flag-5'>仿真</b>資料免費下載

    【玩轉多核異構】M核程序的啟動、編寫仿真——飛凌嵌入式

    基于OKMX8MP-C開發板的M核程序的啟動、編寫仿真的使用方法
    的頭像 發表于 02-10 17:54 ?794次閱讀
    【玩轉多核異構】M核<b class='flag-5'>程序</b>的啟動、<b class='flag-5'>編寫</b>和<b class='flag-5'>仿真</b>——飛凌嵌入式

    【玩轉多核異構】飛凌嵌入式AM6254核心板M核程序的啟動、編寫仿真

    通過飛凌嵌入式FET6254-C核心板來詳細介紹AM6254處理器M核程序的啟動配置、程序編寫和實時仿真等使用
    的頭像 發表于 03-31 14:27 ?1702次閱讀
    【玩轉多核異構】飛凌嵌入式AM6254核心板M核<b class='flag-5'>程序</b>的啟動、<b class='flag-5'>編寫</b>和<b class='flag-5'>仿真</b>

    FPGA入門必備:Testbench仿真文件編寫實例詳解

    編寫完HDL代碼后,往往需要通過仿真軟件Modelsim或者Vivadao自帶的仿真功能對HDL代碼功能進行驗證,此時我們需要編寫Testbench文件對HDL功能進行測試驗證。
    發表于 04-29 10:43 ?2080次閱讀
    主站蜘蛛池模板: 视频在线观看高清免费看| 免费艹逼视频| 国产精品午夜在线观看| 日本黄页网| 看黄a大片 免费| 亚洲三级色| 国产亚洲精品成人a在线| 很色视频| 免费h视频| 日本大片网| 你懂的在线免费| 色狠狠色综合久久8狠狠色| 国产精品久久久久久久久齐齐 | 亚洲无卡| 蝌蚪自拍网二区| 中文字幕导航| 亚洲 欧美 另类 吹潮| 色色色色色色网| 九月丁香婷婷| 免费看日本大片免费| 狠狠色噜噜狠狠狠狠奇米777| 日韩精品三级| 亚洲成人av| 欧美在线精品一区二区三区| 婷婷深爱五月| 日本网站黄色| 日本中文字幕在线播放| 老色批午夜免费视频网站| 女人张腿让男子桶免费动态图| 手机毛片| 性欧美暴力猛交69hd| 日韩免费观看视频| 国产五月| 色视频色露露永久免费观看| 147西西人体大胆免费网| 岛国大片在线播放| semm亚洲欧美在线高清| 伊人久久综合成人亚洲| 最新国产在线播放| 激情五月激情综合网| 亚洲精品日韩专区silk|