关于V5的Rocket/IO的问题讨论
关于V5的Rocket/IO的问题讨论 1)COMMA和K码COMMA属于K码,用于对齐;那D码是做什么用的呢,比如95BC,BC是K码,rxcharisk为‘1’,95是D码,rxcharisk为‘0’。
2)空闲码和COMMA是不是同一个概念?
3)如果使用了弹性缓存,FPGA的逻辑需要对弹性缓存进行哪些处理?是不是溢出的时候需要复位。当读写缓存的时钟速度不一致的时候,是GTP自动处理,还是需要FPGA逻辑上进行判断再处理? 1, 8b 10b转换,搜索一下wikipedia,普通的8bit也就是byte,转成10bit KD码是为了电信号均衡,0和1的数量最多差1个
3,好好配置,多尝试,不需要另外的逻辑 COMMA确实是用来对齐的,D码是数据;IDLE码是另外一个层面的概念 COMMA 用来s2p的时候word align
但是,K码不都是COMMA
例如CPRI 里面应该不会拿K27.7 来做吧 今天做了几个实验:
1)接收用恢复时钟,但是当光纤断开,接收端无数据输入时,为什么恢复时钟的DCM的锁定信号还有效?比较奇怪。
2)接口为16bit时,用95BC做空闲码时,接收端收到的是9FBC和95bc,而且交错收到,即9fbC 95bc 9fbc 95bc ..., 我猜想bc是K码,95不是K码,就把95也用K码替代,接收正确,但我看有些系统都用95bc做空闲码,为什么也没问题?
3)空闲码是必须的么?我开始的时候没用,接收也没问题。
4)读写时钟不一致指什么呢?频率相同,相位不同步的情况算不一致么 1) DCM 它的信号源可以是txclkout,或者是refclkout,这两个时钟都不会因为报出光纤线而丢失,所以locked out还是有效。
2) 你是在作FC协议么?参考Xilinx的FC设计文档。
仔细读读ug196,ug198,做作仿真,花点时间还是很容易理解。 1)DCM的输入确定是recclk,所以很奇怪。
2)没在做协议,想理解的更清楚点。 8b 10b转换,搜索一下wikipedia,普通的8bit也就是byte,转成10bit KD码是为了电信号均衡,0和1的数量最多差1个
页:
[1]