modelsim怎么自动生成testbench

modelsim怎么自动生成testbench,第1张

ModelSim,首先(open)打开需要仿真的模块 ,Source ->Show Language Templates,

在显示的 Language Templates栏目中选择“Create Testbench”

软件自动d出的"Create Testbench Wizzard”窗口中,在"work"下选择待仿真模块,按照提示走完,即自动生成。

扩展资料

主要特点

RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真;

单内核VHDL和Verilog混合仿真;

源代码模版和助手,项目管理;

集成了性能分析、波形比较、代码覆盖、数据流ChaseX、Signal Spy、虚拟对象Virtual Object、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能;

C和Tcl/Tk接口,C调试;

对SystemC的直接支持,和HDL任意混合;

支持SystemVerilog的设计功能;

对系统级描述语言的最全面支持,SystemVerilog,SystemC,PSL;

ASIC Sign off。可以单独或同时进行行为(behavioral)、RTL级、和门级(gate-level)的代码。

需要什么样的激励可以自己改,没有测试,你自己试一下。

library ieee

use ieee.std_logic_1164.all

use ieee.std_logic_unsigned.all

entity testbench is --一个空的实体,没有输入和输出。

end testbench

architecture one of testbench is

component choice is

port(nextt:IN STD_LOGIC

start:IN STD_LOGIC

s1,s2,s3:OUT INTEGER RANGE 0 TO 3

led:OUT STD_LOGIC_VECTOR(2 DOWNTO 0))

end component choice --被测器件的申明。

signal nextt :std_logic:='0'

signal start :std_logic:='1'

signal s1,s2,s3: std_logic

signal led: std_logic_vector(3 downto 0) --所要信号的申明

constant clk_period :time :=20 ns

begin

U1: choice port map(

nextt =>nextt,

start =>start,

s1 =>s1,

s2 =>s2,

s3 =>s3,

led =>led)--进行信号的匹配

clkProcess: --nextt激励(时钟)

process

begin

wait for clk_period/2

nextt <= '1'

wait for clk_period/2

nextt <= '0'

end process

startProcess: process --start激励

begin

start<='1'

wait for 300ns

start<='0'

wait

end process ClockProcess


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11283555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存