No_16_0328 Virtex6 PCIe2.5 仿真学习

文档版本 开发工具 测试平台 工程名字 日期 作者 备注
V1.0 ise14.7 DBF板 PCIETest2 2016.03.28 lutianfei none
  • 参考资料:
    • Spartan 6 PCIE_V2.4 真教程(一)
    • 菜鸟5小时速成FPGA_PCIE设计高手教程.pdf
    • ug671_V6_IntBlock_PCIe.pdf

[TOC]


一、Virtex6-250T的PCIe IP核设置

  • 首先选择2.5版IP核



  • 第1页:参数设置

    • 注意 Lane Width 选择 X4
    • 注意 Link Speed 选择 2.5GT/s
    • 注意 Frenquency(Mhz) 125Mhz,此时钟为给用户使用的trn_clk用户事务时钟。


  • 第2页:BAR空间设置



  • 第3页: ID号设置
    • 注:DeviceID可修改,但需上位机配合



  • 第4页:默认不变



  • 第5页:默认不变



  • 第6页:默认不变



  • 第7页:默认不变



  • 第8页:默认不变



  • 第9页:默认不变



  • 第10页:默认不变



  • 第11页:选择GTX参考时钟
    • Reference Clock Frequency: 选择250Mhz(根据AD9516设置)


    • Frequency可选项如下:




二、 简单仿真测试

(一)一些小问题的解决

报错一:找不到XILINX路径
  • 解决方案:配置系统环境变量


报错二:找不到tests.v文件路径(也可能不报错)
  • 解决方案:修改pcie_exp_usrapp_tx.v文件中tests.v的路径如下:

  • 成功后如下图:



(二)波形分析

包格式说明
  • 包头格式说明


  • Fmt与Type格式说明



  • Posted 与 Non_Posted包

    • Non_Posted:设备发起端发出一个 Non-Posted 请求,在一定时间后,接收端需要回复一个完成包给发起端,如果不回复可能会遇到特别的情况,例如蓝屏。
    • Posted:不需要回复完成包给发起端。


PIO方式 接收 时序图
  • 信号说明:
    • m_axis_rx_tlast : 包结束标志,与m_axis_rx_tvalid一起生效。
    • m_axis_rx_tdata : 接收数据,当m_axis_rx_tvalid为高时,数据有效。
    • m_axis_rx_tkeep[7:0]:决定64bit数据中哪些bit为有效。某位为高时,表示对应的8位数据有效。
    • m_axis_rx_tvalid:表示PCIe核提供了有效数据在m_axis_rx_tdata
    • m_axis_rx_tready:表示用户准备好接收来自m_axis_rx_tdata的数据,此信号必须与m_axis_rx_tvalid同时作用才有效。
    • trn_rerr_fwd:为高正常,为低表示传输出错。


第一包数据:
  • 由上图可知:当 m_axis_rx_tvalid拉高的同时数据到来。
    • 数据包为MWr(存储器写请求),Posted
    • 包头3DW,
    • 数据长度为1(4字节),
    • 写地址为0x00000004(Byte)
    • 写入数据为0x04030201
    • 写入空间为:BAR0
    • trn_rerr_fwd始终为高,没有出错。


  • 第一包数据的结尾:
    • 观察可知当m_axis_rx_tready再次拉高后的下一个时钟m_axis_rx_tvalidm_axis_rx_tlast 同时拉低。


第二包数据
  • 由上图可知:当 m_axis_rx_tvalid拉高的同时数据到来。
    • 数据包为MRd(存储器读请求),Non-Posted包需要返回一个完成包
    • 包头3DW,
    • 读取长度为1(4字节),
    • 读地址为0x00000004(Byte)
    • 读取空间为:BAR0
    • trn_rerr_fwd始终为高,没有出错。
PIO方式 发送 时序图
  • 由上图可知:当 m_axis_tx_tvalid拉高的同时数据到来。
    • 数据包为Cpld(完成包)。
    • 包头3DW,
    • 读回长度为1(4字节),
    • 读地址为0x00000004(Byte)
    • 读取空间为:BAR0
    • 读出的数据:0x04030201,即我们把刚才写入0x00000010地址的数据读出,发现确实是刚才写入的0x04030201,所以脚本判断程序才会出现test_passed的结论。
问题:<font color = red> 如何判断出读的地址是0x000000010 ?</font>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容