0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用ORAN IP的例子工程来做仿真

XILINX开发者社区 来源:XILINX开发者社区 作者:XILINX开发者社区 2022-03-11 09:42 次阅读

目前的 ORAN IP提供两种例子工程:

1. 一个是新建Block Design,添加IP之后,通过运行Block Automation来产生一个例子。这个例子不仅包含了ORAN IP,也将物理层所需要的10G/25G以太网IP和一个1588 PTP的用例都囊括了。该例子工程主要用于做板上demo,具体后续上板操作方式,以及相关软件驱动,可以在下面这个AR里了解到详情:

https://support.xilinx.com/s/article/1254509

2. 另一个方式是直接从IP Catalog里添加一个新的ORAN IP到Vivado工程里面,然后右键点击这个IP,选择Open IP Example Design…,这样产生的例子工程,只包含了一个ORAN IP,没有以太网等。但是其在ORAN IP外添加了testbench和测试用例,因此这个例子工程可以用来跑仿真。产生完毕之后,直接点击Vivado里面的Run Behavioral Simulation,就能把仿真跑起来,并查看例子是如何完成ORAN的同步,以及收发数据。

接下来,本文将指导用户,如何使用第二种方式产生的例子工程,添加自己的数据激励,用于完成自己所需要的仿真验证。

首先,用户的测试数据激励,是来自物理层以太网的数据包,一般会用pcap文件(如果还没有的话,可以先搜索例子工程目录下面,有几个pcap文件的例子,供参考)。使用Wireshark打开pcap文件(注意选ORAN协议),就可以看到包里面具体数据的解析了,如下图:

5eb56434-908e-11ec-952b-dac502259ad0.png

而IP仿真例子工程里用的数据激励则来自于memory文件,如下图,找到对应目录下的文件,客户可以手动或者自己写个脚本,修改里面数据为自己的数据激励(比如先从Wireshark里导出一个JSON的数据文件),就可以拿例子工程仿真来仿自己的数据源了。

5eccdede-908e-11ec-952b-dac502259ad0.png

Memory文件里面的数据激励,按如下格式排列:

在每个以太网包开始之前有两行:

第一行是包开始的时间,

第二行是包长度,下图中的这个例子,就是IP例子工程提供的数据激励用例,第一个包长度为6e,即长度为110 bytes。

5f08752a-908e-11ec-952b-dac502259ad0.png

这样在仿真的时候,就可以在以太网的RX侧到ORAN的defm这个接口处,看到上面这些数据了,如下图:

5f4b1164-908e-11ec-952b-dac502259ad0.png

例子仿真工程当中,其它用户还需要修改的地方,有以下两处:

1. 按照用户需求,配置ORAN的寄存器,打开“demo_tb.v”进行修改。

a. 可以直接修改下面这段tb里的配置,也可以先注释掉下面这段配置。

5f6f9c32-908e-11ec-952b-dac502259ad0.png

b. 然后用exdes_axi_wr来将你需要配置的寄存器值依次写入,如下:

exdes_axi_wr(`IP_BASE_ADDR + `hE600 , `hxxxx );

exdes_axi_wr(`IP_BASE_ADDR + `hE608 , `hx );

exdes_axi_wr(`IP_BASE_ADDR + `h6110 , `hx );

2. 由于产生的这个例子工程,总是用的200MHz内部时钟。还可以修改时钟频率为用户实际设计里的时钟频率。

由于时钟用到的地方不少,需要修改的地方包括例子工程里面的以下几处:

a. ORAN IP产生的图形界面里面

b. IP “torwave”的产生图形界面里面,包括Clocks For 10ms,1ms,Ps Per Clock

c. Clocking Wizard的clk_out2输出

d. 还有“radio_start_recover”,如果用到的话

e. 以及demo_tb.v里的clk_in_ps

5f934d58-908e-11ec-952b-dac502259ad0.png

总之,经过以上的修改,用户就可以利用ORAN IP提供的例子工程,跑自己的数据激励仿真了。这样用户就可以验证IP的配置,针对自己的ORAN下行(以太网接口)数据,是否能正确工作起来。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动
    +关注

    关注

    12

    文章

    1822

    浏览量

    85145
  • IP
    IP
    +关注

    关注

    5

    文章

    1632

    浏览量

    149297
  • 仿真
    +关注

    关注

    50

    文章

    4031

    浏览量

    133370

原文标题:开发者分享|如何利用 ORAN IP 的例子工程做仿真

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Efinity FIFO IP仿真问题 -v1

    Efinity目前不支持联合仿真,只能通过调用源文件仿真。 我们生成一个fifo IP命名为fifo_sim 在Deliverables中保留Testbench的选项。 在IP的生成目
    的头像 发表于 10-21 11:41 823次阅读
    Efinity FIFO <b class='flag-5'>IP</b><b class='flag-5'>仿真</b>问题 -v1

    如何利用海外爬虫IP进行数据抓取

    利用海外爬虫IP进行数据抓取需要综合考虑多个方面。
    的头像 发表于 10-12 07:54 137次阅读

    请问利用SPICE模型能不能进行PCB的SI仿真

    现想用CadencePCB的的SI仿真,但是有些器件没有IBIS仿真模型,只有SPICE模型,请问利用SPICE模型能不能进行PCB的SI仿真
    发表于 09-04 06:06

    如何利用海外住宅IP协助企业进行网络营销

    IP
    jf_62215197
    发布于 :2024年07月30日 07:42:36

    利用逆变器PSPICE仿真模型模拟瞬间动态响应

    电子发烧友网站提供《利用逆变器PSPICE仿真模型模拟瞬间动态响应.docx》资料免费下载
    发表于 06-05 13:18 0次下载

    FPGA开发如何降低成本,比如利用免费的IP内核

    。 验证和测试:集成IP内核后,需要对整个设计进行验证和测试,以确保内核的正确性和性能。这可以通过仿真、硬件在环测试或实际硬件测试完成。 优化和迭代:根据测试结果,可能需要对设计进行优化,如调整内核
    发表于 04-28 09:41

    如何利用Tcl脚本在Manage IP方式下实现对IP的高效管理

    在Vivado下,有两种方式管理IP。一种是创建FPGA工程之后,在当前工程中选中IP Catalog,生成所需IP,这时相应的
    的头像 发表于 04-22 12:22 711次阅读
    如何<b class='flag-5'>利用</b>Tcl脚本在Manage <b class='flag-5'>IP</b>方式下实现对<b class='flag-5'>IP</b>的高效管理

    如何用ProteusTLE9877的仿真

    我需要做基于方波控制的车用电子水泵控制器,芯片是TLE9877,方波控制带霍尔传感器的三相BLDC电机,电机参数是额定电压16V,额定功率300W,额定转速300转/分,我不太会烧录芯片,想用ProteusTLE9877的仿真,我应该怎么
    发表于 02-01 06:58

    怎么用Vivado覆盖率分析

    在做仿真的时候往往会去做代码覆盖率和功能覆盖率的分析,保证仿真的比较充分完备的。
    的头像 发表于 01-03 12:34 1526次阅读
    怎么用Vivado<b class='flag-5'>做</b>覆盖率分析

    什么是子网掩码?如何根据掩码确定ip地址网段?

    什么是子网掩码?如何根据掩码确定ip地址网段?如何判断两个IP地址是否在同一个网段? 子网掩码是用于划分网络中主机和网络地址的一个32位二进制数字。它在IP地址中的每个位上与相应的
    的头像 发表于 12-07 09:40 2058次阅读

    AMD Versal系列CIPS IP核建立示例工程

    接着上一篇“AMD Versal系列CIPS IP核介绍”文章进一步讲解如何来建立CIPS IP核示例工程
    的头像 发表于 12-05 13:34 621次阅读
    AMD Versal系列CIPS <b class='flag-5'>IP</b>核建立示例<b class='flag-5'>工程</b>

    为多个Vivado工程复用远程IP高速缓存

    在设计周期中,您可保留多个版本的工程,这些工程使用相同的 IP 和相同的配置。重新运行整个工程会导致每次都要重新生成 IP,很费时间。
    的头像 发表于 12-01 09:14 649次阅读
    为多个Vivado<b class='flag-5'>工程</b>复用远程<b class='flag-5'>IP</b>高速缓存

    for循环的基本例子

    for循环是一种常见的循环结构,用于重复执行一段代码。它通常由三个部分组成:循环变量的初始化、循环条件和循环变量更新。下面将通过详细的例子来解释for循环的用法和工作原理。 首先,我们考虑一个简单
    的头像 发表于 11-22 10:00 2050次阅读

    利用SPICE模型能不能进行PCB的SI仿真

    现想用CadencePCB的的SI仿真,但是AD8139没有IBIS仿真模型,只有SPICE模型,请问利用SPICE模型能不能进行PCB的SI仿真
    发表于 11-22 08:11

    python最简单for循环例子

    Python是一种简单而又强大的编程语言,通过其清晰的语法和丰富的功能库,我们可以实现各种各样的任务。其中一个最基本的语法结构就是for循环,让我们来看一下如何使用for循环编写一个最简单的例子
    的头像 发表于 11-21 14:53 943次阅读