有没有办法告诉模拟器(我正在使用Modelsim)在没有被双向接口驱动时将信号拉到弱'H'?
例如,如果我有一个I2C信号I2C_SDA,它被声明为来自2个模块的输入。一个是我的实际UUT,另一个是测试平台。两者都有这样的陈述:
io_i2c_sda <= r_I2C_DATA when r_I2C_DATA_EN = '1' else 'Z';
所以两端都是三态的。这在模拟中工作正常,除了线路一直是蓝色('Z'),两端都没有传输。当两端都没有发送时,如何将此行拉到代码中的'H'?
答案 0 :(得分:4)
对于VHDL,应该可以简单地为信号添加额外的驱动程序(必须是std_logic类型),常量值为“H”。在Verilog中,可以使用简单的“1”驱动程序和网络类型wand
进行有线和。 'H'特别意味着弱驾驶员,因此低驾驶员会超越驾驶员。