首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出always X using assign语句用于创建bcs

输出always X using assign语句用于创建bcs
EN

Stack Overflow用户
提问于 2020-11-04 05:40:46
回答 1查看 65关注 0票数 1

我使用assign语句创建了一个BCS,并且编译成功。然后我为它写了一个测试平台,我的问题是我在波形中的输出总是X。

这是我的BCS:

代码语言:javascript
复制
`timescale 1ns/1ns
module BCS_assigned(input e0,g0,a0,b0,output e1,g1);
   assign #29 e1=(a0~^b0)&e0;
   assign #33 g1=(~a0&b0&e0)|g0;
endmodule

这是我的BCS测试平台:

代码语言:javascript
复制
`timescale 1ns/1ns
module assigned_BCS_testbench();
    wire e1, g1;
    reg a0;
    reg b0;
    reg e0;
    reg g0;
    BCS_assigned bcs(e0,g0,a0,b0,e1,g1);
    initial begin
        #0 a0=0;
        #0 a0=0;
        #0 e0=0;
        #0 g0=0;
        #5
        #0 a0=1;
        #0 b0=1;
        #0 e0=1;
        #0 g0=1;
        #5
        #0 a0=0;
        #0 b0=0;
        #0 e0=1;
        #0 g0=0;
        #5
        #5 $stop;
    end
endmodule

为什么我的输出是X?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-04 05:57:46

您需要运行更长时间的模拟。例如,更改:

代码语言:javascript
复制
    #5 $stop;

代码语言:javascript
复制
    #100 $stop;

问题是,您的测试平台在时间20 is时停止模拟,但这不允许有足够的时间来传播assign延迟(29和33)。有了这个变化,我看到e1在时间39 at时从X变成了1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64671113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档