当前位置: 首页 > news >正文

systemctlm-cosim-demo项目分析

概述

systemctlm-cosim-demo项目是Xilinx的systemc库的demo工程。

环境安装

qemu安装

cd xilinx_proj/Downloads
git clone https://github.com/Xilinx/qemu.git
cd qemu
git checkout 74d70f8008# Configure and build
# zynq7000
# ./configure --target-list="arm-softmmu,aarch64-softmmu,microblazeel-softmmu,riscv32-softmmu,riscv64-softmmu,x86_64-softmmu" --enable-fdt --disable-kvm --disable-xen
# 跑versal一定要enable kvm
./configure --target-list="x86_64-softmmu" --enable-kvm 
make -j8
make install DESTDIR=xilinx_proj/qemu_bin

ninja和meson版本不匹配

在这里插入图片描述
在这里插入图片描述

使用pip3直接升级meson到某个版本

pip3 install meson==0.63

qemu-system-x86_64: invalid accelerator kvm

原因一:wsl2-linux默认不支持kvm,需要升级wsl2-linux

升级时编译wsl2-linux遇到问题,转而使用vmware虚拟机ubuntu。

WSL2 QEMU-KVM 环境搭建

linux和windows大小写区分不同,需要修改文件名

mv ./net/netfilter/xt_hl.c  ./net/netfilter/xt_HL.c.bak
mv ./net/netfilter/xt_HL.c.bak  ./net/netfilter/xt_HL.cmv net/netfilter/xt_TCPMSS.c net/netfilter/xt_TCPMSS.c.bak
mv net/netfilter/xt_TCPMSS.c.bak net/netfilter/xt_tcpmss.cmv include/uapi/linux/netfilter_ipv4/ipt_ecn.h include/uapi/linux/netfilter_ipv4/ipt_ecn.h.bak
mv include/uapi/linux/netfilter_ipv4/ipt_ecn.h.bak include/uapi/linux/netfilter_ipv4/ipt_ECN.h

vmware中创建qemu的嵌套虚拟化问题

原因二:qemu编译时configure应要–enable-kvm

测试用例解析

pcie/versal/cpm-qdma-demo

Versal是AMD推出的自适应 SoC,融合了可编程逻辑、处理系统以及 AI 和 DSP 引擎的软件可编程异构计算平台,适用于数据中心、有线网络、5G 无线和汽车驾驶辅助等应用。

仿真环境架构

QEMU接口模仿RC,PCIeController模仿ep的性能,用户逻辑接versal的QDMA仿真模型。

在这里插入图片描述

qdma_cpm4支持PCIe 4.0协议,qdma_cpm5能够支持更高速率的PCIe 5.0协议。

仿真过程及结果

主机终端:

// Terminal 1
cd ~/data/projects/systemc_proj/xilinx_proj/systemctlm-cosim-demo
source ../env2.sh   // qemu exe env
make qemu_run    // Terminal 2
export LD_LIBRARY_PATH=/home/kevin/data/software/systemc/systemc_2.3.3/lib-linux64/
make cpm5_run
make cpm4_run

qemu:

$ cd ~/Downloads/dma_ip_drivers/QDMA/linux-kernel
$ sudo su
$ insmod bin/qdma-pf.ko
$ echo 1 > /sys/bus/pci/devices/0000:02:00.0/qdma/qmax
$ ./bin/dma-ctl qdma02000 q add idx 0 mode mm dir h2c
$ ./bin/dma-ctl qdma02000 q start idx 0 dir h2c aperture_sz 4096
$ dd if=/dev/zero of=/home/ubuntu/test.pdi count=1 bs=1024
$ ./bin/dma-to-device -d /dev/qdma02000-MM-0 -f /home/ubuntu/test.pdi -s 1024 -a 0x102100000
cpm4

在这里插入图片描述在这里插入图片描述

cpm5

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/364104.html

相关文章:

  • SQL学习小记(四)Navicat中连接Oracle数据库的详细步骤
  • mysql聚簇索引
  • 【云原生】Kubernetes----PersistentVolume(PV)与PersistentVolumeClaim(PVC)详解
  • Adobe Premiere 专业视频编辑软件资源下载安装!pr 2024最新版软件分享
  • c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等
  • git版本控制工具常用命令
  • 展示广告多模态召回模型:混合模态专家模型
  • 好的一些网安资源
  • Linux chmod 命令
  • SDL教程(二)——Qt+SDL播放器
  • Java面试题:解决Redis缓存击穿问题
  • Redis的哨兵模式
  • Hadoop伪分布式安装教程
  • Day43 代码随想录打卡|二叉树篇---左叶子之和
  • 微信小程序动画
  • js, ellipsis属性, 超出宽度自动省略... , 并且显示2行
  • ucharts自定义添加tooltip悬浮框显示项内容且换行
  • Mongo 地理位置查询:海量密集点转换成聚合信息
  • bpmn+vue 中文文档
  • React Router v5 和 v6 中,路由对象声明方式有什么区别?
  • 【全开源】知识库文档系统(ThinkPHP+FastAdmin)
  • Python赋能自然语言处理,解锁通往AI的钥匙
  • Ktor库的高级用法:代理服务器与JSON处理
  • VS2017配置OpenCV4.5.1
  • phpstudy配置的站点不能访问了
  • Java Web学习笔记2——Web开发介绍
  • 从零开始实现自己的串口调试助手(3) - 显示底部收发,优化串口打开/关闭
  • 更改Web网站设计——css和css框架
  • 持续监控和优化的简单介绍
  • 针对硅基氮化镓高电子迁移率晶体管(GaN-HEMT)的准物理等效电路模型,包含基板中射频漏电流的温度依赖性