ModelSim-Altera仿真时出现的问题。
[复制链接]
今天再做一个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
|