阅读:1617回复:5
用cpld实现双向总线有没有好的方法?谢谢
用cpld实现双向总线,仿真时为何总是显示不定状态,而且不准给输出总线赋值高阻??我用的是max7000s系列的cpld。用没有好的方法实现双向总线。 :(
|
|
|
沙发#
发布于:2003-07-16 11:46
在时序仿真时,把输入设为高阻(除了有确定的输入值的地方)。
|
|
板凳#
发布于:2003-07-16 11:59
在时序仿真时,把输入设为高阻结果还是不定状态,而且VHDL程序中也不准把输出端设为高阻(总线),否则编译时会出错。
|
|
|
地板#
发布于:2003-07-16 15:02
vhdl中设置高阻编译是通不过的,你可以先拔不设置高阻的程序生成一个symbol,然后用原理图加bustri三太们就可以了
|
|
地下室#
发布于:2003-07-16 23:30
双向总线在输入时必须把输出置成高阻(关闭输出锁存器),否则就会靠成逻辑冲突
你可以使用这样的输出: process(oe) begin if oe=\'0\' then outbus <= (others => \'Z\'); else outbus <= (你要的值); end if; end process; |
|
5楼#
发布于:2003-07-16 23:31
在MAX+PlusII中仿真时还有一个技巧的,就是在用作输入时把输出总线上对应的那段置成高阻状态,否则就会显示不定状态了
|
|