打印

ModelSim-Altera仿真时出现的问题。

[复制链接]
2138|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 swfc_qinmm 于 2011-3-16 22:14 编辑

今天再做一个BCD码转GRAY码的实验时,用ModelSim-Altera进行门级仿真时,出现了如下图所示的现象:


一:想请教大家图中红色标记类似于“毛刺”(不知道这样叫合不合适)的东东是怎么产生的?是不是我的逻辑设计有误?如何解决该问题呢?
二:我在仿真时软件还出现了warning,不知道该如何解决,麻烦大家给解释一下。

谢谢大家了!
**********************************代码*********************************
附上代码:
`timescale 1ns / 1ps
module  BCD2GRAY( SysClk, SysRst_n, BCD, GRAY );
parameter WIDTH = 4;
input    SysClk, SysRst_n;
input [WIDTH-1:0] BCD;
output [WIDTH-1:0] GRAY;
assign GRAY = (BCD >> 1) ^ BCD;
endmodule
*******************************激励文件*********************************
激励:
`timescale  1ns / 1ps
module BCD2GRAY_TEST();
parameter WIDTH = 4;
reg     SysClk, SysRst_n;
reg  [WIDTH-1:0] BCD;
wire [WIDTH-1:0] GRAY;
initial
begin
SysClk = 1'b1;
forever
  #25 SysClk = ~SysClk;
end
initial
begin
SysRst_n = 1'b1;
#50 SysRst_n = 1'b0;
#150 SysRst_n = 1'b1;
#1000000;
$stop;
end
reg  [WIDTH-1:0] Cnt;
always @ ( posedge SysClk )
begin
BCD = {$random} % 15;   //产生输入数据
end
BCD2GRAY BCD2GRAY_INST(
      .SysClk(SysClk),
      .SysRst_n(SysRst_n),
      .BCD(BCD),
      .GRAY(GRAY)
      );
endmodule

相关帖子

沙发
kxryzh| | 2011-3-17 14:08 | 只看该作者
产生红色标记类似于“毛刺”,因为cnt没有赋初值

使用特权

评论回复
板凳
gavin90| | 2011-3-17 15:03 | 只看该作者
这个···好眼熟啊

使用特权

评论回复
地板
suyang27| | 2011-3-23 15:51 | 只看该作者
不是很懂,重新换下输入数据试试吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

177

帖子

2

粉丝