Verilog Reg / Wire混乱

时间:2015-11-29 21:27:01

标签: verilog logical-operators cpu-registers

我在Verilog中创建了一个由Datapath和Control组成的多周期CPU。控制(状态机)的输出是寄存器,但数据路径之间的连接是电线。如果应该有线信号(在伪代码中):wire = OR(wire coming from a mux, reg output from control),我该怎么做?你可以在Verilog中使用带有reg的电线吗?如果没有,是否有更好的方法来实现这一点?控制信号输出可以是控制模块中的寄存器,但是顶部模块中的线路是什么?

更新图片以澄清: enter image description here

1 个答案:

答案 0 :(得分:3)

是的,您可以在Verilog中使用或连接和输出。

是的,每个子模块的输出(基本上是导线)可以直接或间接地内部连接到子模块内的reg。

我认为这是一个很好的方法。

现在,您甚至可以将模块的输出声明为" reg",但这仅仅是声明输出和reg单独的语义糖。我更喜欢明确的方式(即q1_o和q1_reg)。

var Config = function(type, color, message){
        this.color = color;
        this.fn = (function(message) {return function(ele){
            var eleMessage = (message)? message + ele.data().id : ele.data().id; 
            return eleMessage;
        };})(message);

        this.selector = 'node[type = "' + type + '"]';
    }