【问题标题】:Verilog Combinational LogicVerilog 组合逻辑
【发布时间】:2014-03-25 17:34:18
【问题描述】:

我正在尝试在 Verilog 中实现以下逻辑方程:

A1'*B1 + A1'*A0'*B0 + A0'*B1*B0

其中 A1、A0、B1、B0 是输入,' 表示否定。这是我第一次使用 Verilog 进行编码,我想看看我是否走在正确的轨道上。任何帮助将不胜感激。

这是我的工作:

1 module HW7P1( A1, A0, B1, B0, O )
2      input A1, A0, B1, B0
3      output reg O;
4     
5      always @( A1 or A0 or B1 or B0 )
6      begin
7          if( !A1 && B1 ) begin
8              O <= 1;
9      end else if( !A1 && !A0 && B0 ) begin
10             O <= 1;
11     end else if( !A0 && B1 && B0 ) begin
12             O <= 1;
13     end else begin
14             O <= 0;
15     end
16     end

我在这里做错了吗?

【问题讨论】:

标签: module verilog


【解决方案1】:

我相信下面的连续赋值等价于你的逻辑方程:

wire O = (!A1&B1) | (!A1&A0!&B0) | (!A0&B1&B0);

您应该创建一个测试平台来证明这是您想要的逻辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    相关资源
    最近更新 更多