5

有没有办法告诉模拟器(我正在使用 Modelsim)在信号不是由任一双向接口驱动时将信号拉到弱“H”?

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

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

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

4

1 回答 1

5

对于 VHDL,应该可以简单地向信号(必须是 std_logic 类型)添加一个额外的驱动程序,其值为常量“H”。在 Verilog 中,将使用简单的“1”驱动程序和wand用于有线和的网络类型。'H' 专门表示弱高驱动器,因此它将被低驱动器覆盖。

于 2013-10-01T13:50:30.327 回答