弱'H',在模拟中上拉输入双向信号

时间:2013-10-01 13:32:16

标签: vhdl modelsim

有没有办法告诉模拟器(我正在使用Modelsim)在没有被双向接口驱动时将信号拉到弱'H'?

例如,如果我有一个I2C信号I2C_SDA,它被声明为来自2个模块的输入。一个是我的实际UUT,另一个是测试平台。两者都有这样的陈述:

io_i2c_sda <= r_I2C_DATA when r_I2C_DATA_EN = '1' else 'Z'; 

所以两端都是三态的。这在模拟中工作正常,除了线路一直是蓝色('Z'),两端都没有传输。当两端都没有发送时,如何将此行拉到代码中的'H'?

1 个答案:

答案 0 :(得分:4)

对于VHDL,应该可以简单地为信号添加额外的驱动程序(必须是std_logic类型),常量值为“H”。在Verilog中,可以使用简单的“1”驱动程序和网络类型wand进行有线和。 'H'特别意味着弱驾驶员,因此低驾驶员会超越驾驶员。