Verilog inout导线出现问题

And*_*man 4 verilog

为了记录,我是一个完整的Verilog新手.我正在编写一个使用少量双向总线的模块.

inout wire [KEY_SIZE-1:0] prevKey;
inout wire [TAG_SIZE-1:0] prevTag;

inout wire [KEY_SIZE-1:0] nextKey;
inout wire [TAG_SIZE-1:0] nextTag;
Run Code Online (Sandbox Code Playgroud)

我知道如何从公共汽车上读取东西,但我该怎么写东西呢?如果我对a使用assign语句reg,reg当新数据进入线路时,get 的值是否会被破坏?处理一个inout值得麻烦的港口,还是我应该为每个港口做一个inputoutput公共汽车?

Tim*_*Tim 6

如果我对reg ...使用assign语句

这个陈述没有多大意义,你没有对regs做任务,你做了电线的分配.

驱动内丝的简单示例:

inout wire bidir_wire;

reg drive_value;
reg drive_enable;
reg something;

assign bidir_wire = drive_enable ? drive_value : 1'bz; 

always @(posedge clk) begin
    drive_value  <= ... ;  //assign a drive value based on some criteria
    drive_enable <= ...;
    something    <= bidir_wire; //do something with the input value
end
Run Code Online (Sandbox Code Playgroud)