inout型inout型,顾名思义是输入输出端子。 也就是说,是同一个引脚,可以作为输出也可以作为输入使用。 那么,存在如何控制输入输出的问题。
解决方案将inout视为三种状态的门。 使用使能控制信号,选择inout。
注意事项首先,程序的主体利用控制信号来判断输出模式的状态。
即,使用控制信号进行选择,以使inout成为out状态和高电阻状态。 以inout为输入时,不需要选择。
例如:
inout [ 7:0 ]数据、
///
对inout类型的操作
reg [7:0]data_out_sb; //首先在此处注册要输出的数据
reg en_output; //使能控制,data_out_sb; 0:高阻态
assign data=en_output? data _ out _ sb :1’BZ; //处于高电阻状态是输入状态
//
在模拟中,将inout作为输入,想输入数据时。 千万不要直接给data赋值,也不要在testbench文件中写入上面的另一个选择语句。 这样就完全不能输出了。同时,inout类型在testbench文件里面应该定义为wire
如果,我们想先输出inout,初始化设备; 然后,输入inout,获得设备的输出。
如果重新测试文件中inout类型的初始化、赋值或如上所述使用状态控制,则所有这些方法都将失败。 这样的话,就会变成inout型,不能工作或者堵塞。
我想使用模拟解决方案force的快速铅笔输入inout类型。 在testbench文件中,使用force类型。
wire [ 7:0 ]数据; //inout类型initial beginforce data=8'd100; 结束