ModelSim 仿真
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ModelSim 仿真相关的知识,希望对你有一定的参考价值。
1. 设计一个具有正缘触发clock和reset输入与4 bit的count_out输出的特别计数器,当reset=1’b1模组会重置,当reset=1’b0时模组会正常操作,此时第一次clock正缘触发时计数器加1,第二次clock正缘触发时计数器加2,往後依此类推,奇数次clock正缘触发时计数器都会加1,偶数次 clock正缘触发时计数器都会加2,计数器的值由[3:0]count_out输出。完成此特别计数器的模组设计及可以验证此模组功能的基本Testbench,并用Modelsim完成模拟。
写好了程式
一、quatus V档
module counter(clock,reset,count_out,odd_even_count);
input clock,reset;
output [3:0]count_out;
output odd_even_count;
reg [3:0]count_out;
reg odd_even_count;
always @(posedge clock)
if(reset)
begin
count_out<=0;
odd_even_count<=0;
end
else if (odd_even_count==0)
begin
count_out<=count_out+1;
odd_even_count=1;
end
else
begin
count_out<=count_out+2;
odd_even_count=0;
end
endmodule
二、ModelSim 仿真档
module counter(clock,reset,count_out,odd_even_count);
input clock,reset;
output [3:0]count_out;
output odd_even_count;
reg [3:0]count_out;
reg odd_even_count;
always @(posedge clock)
if(reset)
begin
count_out<=0;
odd_even_count<=0;
end
else if (odd_even_count==0)
begin
count_out<=count_out+1;
odd_even_count=1;
end
else
begin
count_out<=count_out+2;
odd_even_count=0;
end
endmodule
modelsim编译没问题,仿真就不通过 出现
Error loading design
错误。
1 解压安装工具包开始安装,安装时选择Full product安装。当出现Install Hardware Security Key Driver时选择否。当出现Add Modelsim To Path选择是。出现Modelsim License Wizard时选择Close。
2 在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后复制到该文件夹下。 若License通过,但是打开ModelSim仍出错,则将系统时间调到2008年之前,重新生成License,再将时间调回来即可。
3 修改系统的环境变量。右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。按下图所示内容填写,变量值内如果已经有别的路径了,请用";"将其与要填的路径分开。LM_LICENSE_FILE = c:\flexlm\license.dat
4 安装完毕,可以运行。
Counter源代码:
`timescale 1ns/100ps
module Counter (
input CLK,
input RST_N,
output [3:0] CNT
);
reg [3:0] cnt;
assign CNT = cnt;
always@(posedge CLK, negedge RST_N) begin
if (!RST_N)
cnt <= #5 4'h0;
else
cnt <= #0 cnt + 1'b1;
end
endmodule
Counter_tb源代码:
`timescale 1ns/100ps /**/
module Counter_tb ;
wire [3:0] CNT ;
reg RST_N ;
reg CLK ;
Counter
DUT (
.CNT (CNT ) ,
.RST_N (RST_N ) ,
.CLK (CLK ) );
/***********************/
initial begin
#0 CLK = 1'b0;
RST_N = 1'b0;
#5 RST_N = 1'b1;
end
// 50MHz
always #10 CLK = ~CLK;
/**********************/
endmodule追问
你好,谢谢你的解答,但是跟题目不符合,我之前也写了一个同你相似的。能否根据题目要求,给出正确解答。license方面没问题,我下载了学生版本,申请了半年的license。
modelsim中如何改变仿真波形中信号的显示格式
仿真信号都是显示的16进制,我想看2进制的,这样方便些。怎样一次性全部修改,鼠标一个个的双击改太麻烦了。另外我把modelsiml.ini中改成symbolic也没用
参考技术A new file选 那个 vector wave啥的.然后右键insert》node》node find》list但是可以使用第三方软件进行仿真。比如:ModelSim或者 ModelSim-Altera等 仿真最后修改: 2012 年9 月11 日
产品类别: 设计软件
产品领域: 仿真/一致性验证
产品子领域: ModelSim-Altera(仿真/一致性验证)
标题说明VCD文件是一个IEEE 1364-1995标准文件,包含所有调试仿真结果所需要的仿真波形信息。它包含设计中的所有信号,当需要在波形窗口中加入信号时,你不需要重新运行仿真。为了生成一个.vcd文件:1) 在transcript窗口中成功编译和加载设计2) 指定VCD文件名称 - 语法: vcd file <file_name>.vcd3) 使能VCD文件存储需要的节点信号- 语法: vcd add <path_to_instance>/*注意: 这个命令不会存储子节点信号 使能加密节点的VCD会产生告警4) 运行仿真,产生VCD数据库5) 退出仿真- 语法: quit –sim 为了在Modelsim软件的波形窗口中显示.vcd文件中的信号: 1) 在Modelsim中将VCD格式转换为WLF格式- 语法: vcd2wlf <file1.vcd> <file2.wlf>注意: 如果转换失败,很可能是由于不存在的节点路径导致的。请确认在前面第3步中指定的所需节点路径是正确的。 2) 退出当前的Modelsim环境 (Modelsim生成正确VCD文件的要求)3) 打开第1步生成的WLF文件- File菜单 -> Open -> file2.wlf4) 在Object窗口中选择调试所需信号,并把它们添加到波形窗口中去 反馈 此页内容满足用户需要:完全不同意 完全同意 12345 此页很容易被找到: 完全不同意 完全同意 12345 如您有对改善支持解决方案的其他建议,请填于下: Altera并不保证此解决方案能够达到客户的预期目的,并不承担所有的解决方案的使用和信赖的责任。
以上是关于ModelSim 仿真的主要内容,如果未能解决你的问题,请参考以下文章