Verilog组合逻辑

时间:2014-03-25 17:34:18

标签: module verilog

我试图在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

我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

我相信以下连续分配等同于你的逻辑方程式:

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

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