modelsim仿真教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本教程使用软件的下载链接如下:

/download/quartus_modelsim_setup.zip

Molelsim仿真使用教程

——利用quartus生成网表文件Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件,接下来以一个简单的例子介绍modelsim的基本使用方法。

第一步:建立工程,该过程与quartus使用的教程大部分是一样的,区别如下:

在simluation选项中选择MoselSim-Altera作为仿真工具,fomat中的选项根据编程语言进行选择,本教程以VHDL为例。

第三方的仿真工具

所以在此选择

第二步:新建文件:

新建一个源文件,保存为led.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity led is

port(led_out : out std_logic_vector(7 downto 0);

clk : in std_logic;

rst_n : in std_logic

);

end led;

architecture behavior of led is

signal light : std_logic_vector (7 downto 0);

begin

process(clk,rst_n)

begin

if(rst_n = '0')then

light <= "00000010";

elsif(clk'event and clk ='1' )then

if(light = "10000000") then

light <= "00000001";

else

light <= light(6 downto 0)& '0';

end if;

end if;

end process;

led_out <= light;

end behavior;

新建一个testbench 文件,保存为testbench.vhd(testbench是电路的激励文件,在后面章节会详细介绍,这里仅仅作为软件的演示不具体介绍testbench的设计过程):

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.numeric_std.all;

entity testbench is

end testbench;

architecture behavior of testbench is

component led

port ( clk : in std_logic;

rst_n : in std_logic;

led_out : out std_logic_vector(7 downto 0)

);

end component;

--input signal

signal clk : std_logic := '0' ;

signal rst_n : std_logic :='0';

--output signal

signal led_out : std_logic_vector (7 downto 0);

--contstant

constant clk_period : time := 20ns;

begin

cp1 : led port map (

clk =>clk,

rst_n => rst_n,

led_out => led_out );

clk_gen : process

begin

clk <= '1';

wait for clk_period/2;

clk <= '0';

wait for clk_period/2;

end process;

rst : process

begin

rst_n <= '0';

wait for 20ns;

rst_n <= '1';

wait for 200ns;

wait;

end process;

end;

然后对顶层模块led.vhd进行检查语法和编译,在编译的窗口出现

EDA Netlist Writer 是表示第三方仿真工具所需要用到的网表文件(Netlist)成功生成。

在信息栏中会出现以下信息:

led.vho 就是网表文件,led_vhd.sdo是时序仿真时候的时序文件(里面有线延时,寄存

器延时等信息)

网表文件和时序文件都已经生成完成,接下来开始使用modelsim进行仿真。

第三步:利用modelsim做仿真:

1,在上一个步骤quartusii所建立的工程所保存的硬盘位置目录中多出一个文件夹:

仿真需要的文件就在里面

2,打开modelsim,新建工程(file>new>project),选择好保存路径和工作名称,点击OK:

编译成功之后综合布

线都成功

当选择第三方工具的时候就会产生该

项目,表示生成了其他软件所需要用

到的vho和sdo文件

建立Modelsim仿真工程。

相关文档
最新文档