有没有办法告诉模拟器(我正在使用 Modelsim)将信号拉到弱的“H”,当它不是由任一双向接口驱动时?
例如,如果我有一个 I2C 信号 I2C_SDA,它被声明为 2 个模块的输入输出。一个是我的实际 UUT,另一个是测试台。两者都有这样的声明:
io_i2c_sda <= r_I2C_DATA when r_I2C_DATA_EN = '1' else 'Z';
Run Code Online (Sandbox Code Playgroud)
所以两端都是三态的。这在模拟中工作正常,除了线路一直是蓝色('Z'),两端都没有传输。当两端都没有传输时,如何将这条线拉到代码中的“H”?
对于 VHDL,应该可以简单地向信号(必须是 std_logic 类型)添加一个额外的驱动程序,其值为“H”。在 Verilog 中,将使用简单的“1”驱动程序和wand用于有线和的网络类型。'H' 特指弱高驱动器,因此它会被低驱动器覆盖。
| 归档时间: |
|
| 查看次数: |
10431 次 |
| 最近记录: |