libsystemctlm-soc项目分析

概述

libsystemctlm-soc项目是Xilinx的SystemC库。

环境安装

verilator安装

# Prerequisites:
#sudo apt-get install git help2man perl python3 make autoconf g++ flex bison ccache
#sudo apt-get install libgoogle-perftools-dev numactl perl-doc
#sudo apt-get install libfl2  # Ubuntu only (ignore if gives error)
#sudo apt-get install libfl-dev  # Ubuntu only (ignore if gives error)
#sudo apt-get install zlibc zlib1g zlib1g-dev  # Ubuntu only (ignore if gives error)git clone https://github.com/verilator/verilator   # Only first time# Every time you need to build:
unsetenv VERILATOR_ROOT  # For csh; ignore error if on bash
unset VERILATOR_ROOT  # For bash
cd verilator
git pull         # Make sure git repository is up-to-date
git tag          # See what versions exist
#git checkout master      # Use development branch (e.g. recent bug fixes)
#git checkout stable      # Use most recent stable release
#git checkout v{version}  # Switch to specified release versionautoconf         # Create ./configure script
export VERILATOR_ROOT=`pwd`
./configure  --prefix=<安装路径>    
# Configure and create Makefile,安装路径要和源文件路径不一样,因为源文件中有bin文件夹,安装会重新生成bin文件夹;若路径仍然一样,install时会报冲突
# 设置 CXXFLAGS=-std=c++11 ./configure  --prefix=<安装路径>    
make -j `nproc`  # Build Verilator itself (if error, try just 'make')
make installcp $VERILATOR_ROOT/include <安装路径> -r     // 安装路径中没有include文件夹

环境变量

增加.config.mk文件

添加SYSTEMC变量

verilator版本太旧,不识别-build选项

verilator 4.028不支持-build选项,改换成v5.024
在这里插入图片描述
v5.024仿真报错,推测新版本不稳定,后改用v4.110

在Vmware中qemu嵌套虚拟化的设置

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

umi编译报错

git仓库不全

在这里插入图片描述

测试用例解析

rtl-bridge/pcie/test_pcie_ep

仿真环境架构

在这里插入图片描述

bridge端口信号

在这里插入图片描述

仿真过程及结果

制作镜像

qemu-img create -f qcow2 hd0.qcow2 2G  

在这里插入图片描述

rtl-bridge/pcie/test-pcie-ep-master-vfio

Failed to open /dev/vfio/0

在这里插入图片描述

rtl-bridge/pcie/refdesign-sim

仿真环境架构

该测试用例需在xilinx/qemu中运行,qemu和refdesign-sim测试用例通过remote-port连接,该组件是一个使用socket和共享内存在二者间输出事务的协议框架。

仿真时,qemu先运行,refdesign-sim后运行,refdesign-sim创建共享文件,qemu通过-machine-path指定路径监听到共享文件后开始运行。该测试目标只是实验qemu和systemc的协同仿真机制,通过hotplug判断设备是否被qemu识别,没有具体业务流。

Xilinx Wiki: QEMU Options and Commands

加了nographic选项

qemu-system-x86_64 -nographic -M q35,accel=kvm,kernel-irqchip=split		\-device intel-iommu,intremap=on,device-iotlb=on			\-cpu host -smp 8 -m 8G						\-netdev user,hostfwd=tcp:127.0.0.1:2225-10.0.2.15:22,id=n0	\-device virtio-net,netdev=n0					\-drive file=hd0.qcow2,format=qcow2				\-machine-path machine-x86/					\-serial mon:stdio 						\-device ioh3420,id=rootport,slot=0				\-device ioh3420,id=rootport1,slot=1

在这里插入图片描述

-drive file=hd0.qcow2,format=qcow2

找不到hd0.qcow2来源,无法完成启动

qemu的进入monitor窗口ctrl+a c,按c的时候不用按ctrl

(忍不住口吐芬芳,坑爹。。。)

仿真过程及结果

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/847893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 从入门到精通Object(对象)

文章目录 对象文本和属性方括号计算属性 属性值简写属性名称限制属性存在性测试&#xff0c;“in” 操作符“for…in” 循环像对象一样排序 总结✅任务你好&#xff0c;对象检查空对象对象属性求和将数值属性值都乘以 2 对象引用和复制通过引用来比较克隆与合并&#xff0c;Obj…

Keil编译bin格式固件方法

打开Option选项卡&#xff0c;选择User&#xff0c;在After Build/Rebuild下面增加以下命令&#xff1a; fromelf.exe --bin -o "L.bin" "#L"

四川菊乐食品IPO终止:收入增速放缓,内控缺陷遭关注,产能过剩

近日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;四川菊乐食品股份有限公司&#xff08;下称“菊乐股份”或“菊乐食品”&#xff09;及其保荐人中信建投证券撤回上市申请文件。因此&#xff0c;深圳证券交易所决定终止对该公司首次公开发行股票并在主板上市的审核。…

一文看懂llama2(原理模型训练)

自从Transformer架构问世以来&#xff0c;大型语言模型&#xff08;Large Language Models, LLMs&#xff09;以及AIGC技术的发展速度惊人&#xff0c;它们不仅在技术层面取得了重大突破&#xff0c;还在商业应用、社会影响等多个层面展现出巨大潜力。随着ChatGPT的推出&#x…

提示词工程基础:定义与重要性

目录 一、引言二、提示词工程的定义1. 概念明晰2. 技术框架3. 功能作用 三、提示词工程的重要性1. 核心作用强调2. 提升效率与降低成本3. 推动技术发展与创新 四、提示词工程的组成部分1. 提示词设计2. 模型训练与调整3. 效果评估与优化 五、实际应用示例1. 虚拟助手2. 自动新闻…

宝塔部署vue+springboot过程(图文)

宝塔是傻瓜式操作部署&#xff0c;xshell是用linux命令部署 &#xffe5;过程&#xffe5; 整个流程具体服务器开端口在阿里云服务器打开3306端口&#xff08;有用到的端口都要打开&#xff09;宝塔&#xff1a;添加数据库获取数据库名、用户名、密码&#xff1b;点击“工具”…

JavaSE——【逻辑控制】(知识)

目录 前言 一、顺序结构 二、分支结构 三、循环结构 总结 前言 公元 3050 年&#xff0c;地球的科技已经发展到令人难以想象的地步。这天&#xff0c;艾米莉在自己的房间里启动了最新的虚拟旅行装置&#xff0c;下一秒&#xff0c;她发现小奥奇的博客更新了。立即放弃了虚…

我们设计制造MW级水冷负载电阻器-数据中心船舶岸电发电机组测试大功率负载RLC阻感容集装箱负载

UEPR系列电阻采用先进材料制造&#xff0c;采用专利设计&#xff0c;将电阻与冷却液完全隔离&#xff0c;为水冷应用提供重量轻、体积小、超大功率的解决方案。其革命性的模块化设计意味着它们可以串联在一起&#xff0c;以满足您的电力需求。应用于发电、电力传输、电气传动等…

【python】OpenCV—Cartoonify and Portray

参考来自 使用PythonOpenCV将照片变成卡通照片 文章目录 1 卡通化codecv2.medianBlurcv2.adaptiveThresholdcv2.kmeanscv2.bilateralFilter 2 肖像画cv2.divide 1 卡通化 code import cv2 import numpy as npdef edge_mask(img, line_size, blur_value):gray cv2.cvtColor(…

ChatGPT 宕机部分用户访问报错 api key开发应用不影响

就在今日4号下午&#xff0c;有部分用户反映ChatGPT访问报错&#xff0c;不幸的是&#xff0c;ChatGPT 目前对某些用户不可用 - 该问题已被发现&#xff0c;OpenAI 团队正在努力解决它 似乎就api 开发使用key的应用不受影响 以下是对接ChatGPT api key开发的应用正常对话

Numba 的 CUDA 示例(3/4):流和事件

本教程为 Numba CUDA 示例 第 3 部分。 按照本系列的第 3 部分&#xff0c;了解 Python CUDA 编程中的流和事件 介绍 在本系列的前两部分&#xff08;第 1 部分&#xff0c;第 2 部分&#xff09;中&#xff0c;我们学习了如何使用 GPU 编程执行简单的任务&#xff0c;例如高度…

代码随想录——二叉搜索树的最近公共祖先(Leetcode235)

题目链接 普通递归法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode…

创建 MFC DLL-使用关键字_declspec(dllexport)

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 从MFC DLL中导出函数的另一种方法是在定义函数时使用关键字_declspec(dllexport)。这种情况下&#xff0c;不需要DEF文件。 导出函数的形式为&#xff1a; declspec(dll…

对称二叉树[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个二叉树的根节点root&#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xf…

pytorch-深度残差网络resnet

目录 1. ResNet的由来2. ResNet pytorch实现 1. ResNet的由来 2014年网络层次达到了22层以后&#xff0c;随着层数的增多&#xff0c;反而性能会越来越差&#xff0c;其原因是ΔE对ΔWij的导数依赖于上一层的δ&#xff0c;由于δ误差不断积累&#xff0c;导致出现梯度弥散的问…

使用AI工具提高开发效率

使用AI工具提高开发效率 一、国内常见AI工具 推荐大家使用国内AI大模型工具协助开发&#xff1a; 百度-文心一言&#xff1a; https://yiyan.baidu.com科大讯飞-星火&#xff1a;https://xinghuo.xfyun.cn字节跳动-豆包&#xff1a;https://www.doubao.com般若&#xff08;代…

Golang | Leetcode Golang题解之第132题分割回文串II

题目&#xff1a; 题解&#xff1a; func minCut(s string) int {n : len(s)g : make([][]bool, n)for i : range g {g[i] make([]bool, n)for j : range g[i] {g[i][j] true}}for i : n - 1; i > 0; i-- {for j : i 1; j < n; j {g[i][j] s[i] s[j] && g[…

软考高级通过率真的很低吗?是多少?

软考的合格率普遍偏低&#xff0c;数据显示&#xff0c;初级考试的合格率大致为30%&#xff0c;中级则为20%&#xff0c;而高级考试的合格率更是低至10%。特别是一些难度较高的科目&#xff0c;如高级的系统架构设计师和系统分析师&#xff0c;其合格率有时仅为8%&#xff0c;突…

Unity 之 代码修改材质球贴图

Unity 之 代码修改材质球贴图 代码修改Shader&#xff1a;ShaderGraph&#xff1a;材质球包含属性 代码修改 meshRenderer.material.SetTexture("_Emission", texture);Shader&#xff1a; ShaderGraph&#xff1a; 材质球包含属性 materials[k].HasProperty("…

38【Aseprite 作图】包子——拆解

1 包子轮廓 2 画包子中间的褶皱&#xff0c;褶皱颜色更深一点&#xff0c;不要直接斜着&#xff0c;而是要连着