首页 > 代码库 > Verilog HDL双向端口的使用
Verilog HDL双向端口的使用
Verilog HDL语法的I/O端口分为三类:input、output、inout。input端口不能被定义成寄存器变量型,只能是线网型;output端口信号可定义成寄存器型变量,并在always块内可以被赋值使用;而inout型双向端口信号不能被定义成reg型变量,因此只能采用assign赋值语句,不能再always块内使用。
当Z=0时,上面的管子导通,数据从器件内部端口(din)向器件外部端口 (dinout)输出。
当Z=1时,上面的管子被置为高阻态,数据不能从上面的管子输出,此时数据只 可以从下面的管子由外部端口(dinout)向 内部端口(dout)输入。
module data(clk,z,din,dinout,dout);
input clk;
input z;
input[15:0] din;
inout[15:0] dinout;
output[15:0] dout;
reg[15:0] dout;
reg[15:0] din_t;
assign dinout=(!z) din_t : 16‘bz;
always @(posedge clk)
begin
if(!z)
din_t<=din;
else
dout<=dinout;
end
endmodule
Verilog HDL双向端口的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。