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

2019-03-25 10:54发布

今天再做一个BCD码转GRAY码的实验时,用ModelSim-Altera仿真时,出现了如下图所示的现象:
b_1.jpg   b_2.jpg   一:想请教大家图中红 {MOD}标记类似于“毛刺”(不知道这样叫合不合适)的东东是怎么产生的?是不是我的逻辑设计有误?如何解决该问题呢?
二:我在仿真时软件还出现了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 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。