SRIO的数据手册均可在xilinx官网上找到,这里对我这次运用SRIO走过的坑,给一些具体的介绍。
SRIO IP是高速传输差分IP。SRIO IP生成的时候要注意的地方:
波特率和接收方ID一致。
端口选择condensed I/O或者Initiator/target legacy 均可。
若发送方发送的包是以HELLO模式发送的,则这里需要以选择HELLO模式。其他的按默认的选择。
注意在I生成IP后,在例化IP时,需要将IP端口赋予一个初始值,这里设置的为0.
另外值得注意的就是XDC约束问题:
set_case_analysis 0 [list [get_pins -hierarchical *mode_1x]] 将*mode_1x都参数化为0.
set property LOC GTXE2_CHANNEL_XOY4[ get_cells -hier -nocase -regexp .*/gt0_srio_gen2_0_i/gt.e2_i]注意这里是指定高速传输对应的通道(gtxe2_i);
另一方面就是set false,在report clock interaction 中界面设置。
跨时钟域约束的问题:为了防止要稳态需要将对应的信号拍两拍。
高速时钟输入必须为lvds差分信号标准,时钟信号没给对,SRIO是解析不到数据的。
当IP设置好,xdc文件约束好,基本的通信就可以完成了,剩下的就靠自己逻辑设计了。