请教cpld扩展I/O口以及cpld上电初始状态(急)
- UID
- 152742
- 性别
- 男
|
请教cpld扩展I/O口以及cpld上电初始状态(急)
用cpld为控制器扩展I/O口,控制器与I/O之间通过总线连接,现在控制器已经能够向I/O口写数据,不能读I/O口数据,一旦读I/O口,就造成控制器复位。读程序如下: if clk1'event and clk1='1' and rw='1' then if ctrl_reg(0)='0' and decoder_addr="0001" then databus<=IO2; else databus<="ZZZZZZZZ"; end if; end if; 通过指示灯得知,cpld一上电,就执行 databus<=IO2;按道理,刚上电if条件不满足,不应该执行 databus<=IO2。就是因为上电时执行 databus<=IO2,导致控制器复位(可能是不该向数据总线上放数据时,放了数据)。如果把 databus<=IO2注释掉,就不会出现控制器复位。请问: 1. 怎样避免上电就执行 databus<=IO2? 2. 用的cpld是XC9572,没有加时序约束,行不行? 我马上要交差,十万火急, 请大家多多帮忙!!! |
|
|
|
|
|