[求助] ModelSim-Altera仿真时出现的问题。

swfc_qinmm   2011-3-16 21:50 楼主

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

 

b_2.jpg

 

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

 

谢谢大家了!
**********************************代码*********************************
附上代码:
`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

回复评论 (3)

Mark
点赞  2011-3-18 08:08
毛刺是你逻辑问题,不是软件问题
点赞  2011-3-19 20:23

回复 板凳 造化为工 的帖子

嗯,是我的逻辑有问题。就是不知道该如何解决?
请赐教。
点赞  2011-3-20 11:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复