PADS菜鸟 发表于 2014-12-5 22:33:01

同样的代码,不一样的仿真结果?

本帖最后由 PADS菜鸟 于 2014-12-5 22:33 编辑

软件版本:ISE14.7,modelsimSE10.2c
代码adder4.v
`timescale 1ns / 1ps                        //1ns的仿真刻度,1ps的仿真精度
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date:    16:25:27 12/05/2014
// Design Name:
// Module Name:    adder4
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module adder4(ina,inb,cin,sum,cout);

        //定义输入信号 ina,inb,cin
        input ina;
   input inb;
   input cin;
        //定义输出信号 sum,cout
   output sum;
   output cout;
        //求和输出
        assign {cout,sum} = ina +inb + cin;

endmodule
代码adder4_tb.v
`timescale 1ns / 1ps                        //1ns的仿真刻度,1ps的仿真精度

////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date:   16:38:09 12/05/2014
// Design Name:   adder4
// Module Name:   E:/xilinx/adder4/adder4_tb.v
// Project Name:adder4
// Target Device:
// Tool versions:
// Description:
//
// Verilog Test Fixture created by ISE for module: adder4
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////

module adder4_tb;
        //输入信号
        reg ina;
        reg inb;
        reg cin;
        //输出信号
        wire sum;
        wire cout;
        //中间变量
        reg i;
        reg j;
        //调用被测试模块
        adder4 uut (
                .ina(ina),
                .inb(inb),
                .cin(cin),
                .sum(sum),
                .cout(cout)
        );

        initial begin
                //初始化输入信号
                ina = 0;
                inb = 0;
                cin = 0;
                for(i = 1;i < 16;i = i + 1)
                #10 ina = i;
                end
        initial begin
                for(j = 1;j < 16;j = j + 1)
                #10 inb = j;
                end
        initial begin
                //打印结果输出
                $monitor($time,,,"%d+%d+%d={%b,%b}",ina,inb,cin,cout,sum);
      //仿真160ns结束
                #160 $finish;
                end
      
endmodule
ISIM和modelsimSE10.2c仿真结果如下:

PADS菜鸟 发表于 2014-12-5 22:34:53

这个我知道只是显示方式有问题,但不知道在modelsimSE中该如何设置。

sczh0001 发表于 2014-12-6 10:14:23

改成16进制吧

get500wan 发表于 2014-12-6 11:55:50

显示设置有符号和无符号的问题?
页: [1]
查看完整版本: 同样的代码,不一样的仿真结果?