阅读:1368回复:6
急问
9054RDK中的verilog描述了一个有六个状态的状态图,
若进行一次猝发式传输,要经历以下状态: 0: idle 1: cycle start 4: burst cycle wait state 5: burst cycle repeat state 6: burst cycle last state 引起状态变化的信号有: ADS_, BLAST_, ADDR_4MSBS(地址高四位) 模拟结果如下: ADS_ 1 -> 0 状态: 0 -> 1 ADS_ 0 -> 1 状态: 1 -> 4 (由于此时BLAST无效,认为是猝发式传输) BLAST_ 1 -> 0 状态: 4 -> 5 要请教大虾的是: 5到6的状态转换是怎样发生的? 在我的模拟中直到下一次传输才到达6,这显然是错误的 多谢! |
|
|
沙发#
发布于:2002-07-25 19:42
根据PCI协议,在突发传输中FRAME变低表示进入传输最后一个周期
|
|
板凳#
发布于:2002-07-25 19:53
对不起,应是变高
|
|
地板#
发布于:2002-07-25 20:49
抱歉,我指的是局部总线,
也就是9054rdk上的cpld中的逻辑 与pci并没多大关系 |
|
|
地下室#
发布于:2002-07-26 08:29
几种状态的定义似乎不是很准确,如果完整的描述9054的状态变化,似乎应当再加上BTERM_,READY_才对.
|
|
|
5楼#
发布于:2002-07-26 12:22
READY_ 是9054的输入信号,状态机中已经产生
BTERM_ 可以在register中设置为无效以简化操作 |
|
|
6楼#
发布于:2004-11-07 11:49
我想是不是应该把原来的:
s5: if (BLAST_) nextstate = s5; else nextstate = s6; 改为: s5: if ( ! BLAST_) nextstate = s5; else nextstate = s6; 但我又觉得plx不会犯这样的错误吧,迷惑中.............. |
|