SystemC入门学习Demo用例的工程化配置

news2024/10/6 14:37:51

背景:对不同的用例文件,使用CMakeLists.txt进行工程化管理的演示,这样开发者可以更加关注在代码开发上。

1,首先安装好系统环境的systemC库:ubuntu系统安装systemc-2.3.4流程-CSDN博客

2,准备好一个demo用例的所有源文件:SystemC入门之测试平台编写完整示例:全加器_systemc测试程序-CSDN博客

3,创建CMakeLists.txt文件,如下

cmake_minimum_required(VERSION 3.10)
project(Adder)

set(CMAKE_CXX_STANDARD 14) #systemc-2.3.4 cannot support version 17

set(SYSTEMC_INLCUDE_DIRS "/home/systemc-2.3.4/include")
include_directories(${SYSTEMC_INLCUDE_DIRS})
file(GLOB_RECURSE SYSTEMC_LIB "/home/systemc-2.3.4/lib-linux64/*.so")


add_executable(${PROJECT_NAME} full_adder_main.cpp)
target_link_libraries(${PROJECT_NAME} ${SYSTEMC_LIB})

4,演示程序的执行

当前的目录树如下:

执行如下命令编译可执行程序:

mkdir build && cd build
cmake ..
make

然后,在build文件夹下生成了Adder的执行程序,执行.Adder, 生成如下程序的输出结果文件:

full_adder.vcd可以通过在vscode安装插件WaveTrace查看波形数据。

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

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

相关文章

Golang | Leetcode Golang题解之第12题整数转罗马数字

题解: 题解: var (thousands []string{"", "M", "MM", "MMM"}hundreds []string{"", "C", "CC", "CCC", "CD", "D", "DC", "…

Python最简单的图片爬虫

Python最简单的图片爬虫,20行代码带你爬遍整个网站-腾讯云开发者社区-腾讯云 (tencent.com) import urllib.parse import json import requests import jsonpath url https://www.duitang.com/napi/blog/list/by_search/?kw{}&start{} label 美女 label url…

剑指Offer题目笔记27(动态规划单序列问题)

面试题89: 问题: ​ 输入一个数组表示某条街道上的一排房屋内财产的数量。相邻两栋房屋不能同时被盗,问小偷能偷取到的最多财物。 解决方案一(带缓存的递归): 解决方案: 由于有报警系统&…

【保姆级教程】如何在 Windows 上实现和 Linux 子系统的端口映射

写在前面 上次分享【保姆级教程】Windows上安装Linux子系统,搞台虚拟机玩玩,向大家介绍了什么是虚拟机以及如何在Windows上安装Linux虚拟机。对于开发同学而言,经常遇到的一个问题是:很多情况下代码开发需要依赖 Linux 系统&…

八股面试速成—计算机网络部分

暑期实习面试在即,这几天八股和算法轮扁我>_ 八股部分打算先找学习视屏跟着画下思维导图,然后看详细的面试知识点,最后刷题 其中导图包含的是常考的题,按照思维导图形式整理,会在复盘后更新 细节研究侧重补全&a…

kubelet安装

安装 在大致了解了一些k8s的基本概念之后,我们实际部署一个k8s集群,做进一步的了解 1. 裸机安装 采用三台机器,一台机器为Master(控制面板组件)两台机器为Node(工作节点) 机器的准备有两种方式…

阿里巴巴中国站获得1688商品详情 API:如何通过API接口批量获取价格、标题、图片、库存等数据

在数字化时代,数据的重要性不言而喻。对于电商从业者来说,获取商品详情数据是提升业务效率和用户体验的关键。阿里巴巴中国站作为电商行业的巨头,提供了丰富的API接口,方便开发者们批量获取商品信息。本文将详细叙述如何通过阿里巴…

透射菊池衍射(TKD)技术优势明显 在冶金领域发展潜力较大

透射菊池衍射(TKD)技术优势明显 在冶金领域发展潜力较大 透射菊池衍射(TKD),基本原理与电子背散射衍射(EBSD)大致相同,但信号接收方式存在差异,也称为透射电子背散射衍射…

「36」如何让直播间的文字,图片动起来?

OBS中的滚动滤镜是一种视频滤镜效果,用于在直播或录制过程中创建滚动字幕或滚动文本效果。 滚动滤镜,可以让您在视频画面中显示滚动的文本内容,以提供额外的信息或注释。你经常看到,直播间的「文字和图片」在匀速的滚动,怎么做的呢?现在教你…… 实操步骤 一、文字走动 …

以Kotti项目为例使用pytest测试项目

在维护和构建大型项目时,单独一个一个手工测试代码已经不适用了,这时候就要用专门的测试框架进行测试。让我们以Kotti项目为例,用pytest这个测试框架进行实践测试吧。 使用python3.10 Ubuntu 系统 准备工作 下载和安装kotti库 pip install…

软件测试下的AI之路(4)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

智慧公厕升级为多功能城市智慧驿站,助力智慧城市发展

在现代城市的建设中,公共厕所作为基础必备的民生设施,一直是城市管理的重要组成部分。随着科技的不断发展,智慧公厕应运而生,成为了公共厕所信息化、数字化、智慧化的应用解决方案。而近年来,智慧公厕也进行了升级发展…

Java设计模式—享元(FlyWeight)模式

享元模式(Flyweight),运用共享技术有效地支持大量细粒度的对象 public abstract class Piece {protected PieceColor m_color;protected PiecePos m_pos;public Piece(PieceColor color ,PiecePos pos){m_color color;m_pos pos;}public ab…

利用甘特图实现精细化项目管控

在项目管理中,通过精细化管控,项目经理能够有效规划、监督和协调各项任务,从而最大限度控制风险,优化资源配置,并确保按时、按质、按量完成项目目标。而在众多项目管理工具中,甘特图无疑是实现精细化项目管控的利器。zz-plan 是一个非常好用的在线甘特图制作工具,一…

浮点数在内存中的存储【详解】

浮点数在内存中的存储 浮点数存储规则小数点后数值的二进制转换float和double存储图示优化存储方案E不全为0或不全为1E全为0E全为1 浮点数存储规则 大家都知道整型数据是以补码的方式存放在内存中。以下几个概念是需要知道的: 原码,补码,反…

爬虫与数据分析——爬虫基础知识

目录 一、开发环境二、爬虫的概念三、爬虫与Python(一)爬虫常用语言(二)python的特点 四、爬虫环境依赖(一)python第三方库(二)第三方库的安装 五、爬虫与HTTP(一&#x…

深入理解JVM的内存结构及GC机制(2)

虚拟机栈占用的是操作系统内存,每个线程对应一个虚拟机栈,它是线程私有的,生命周期和线程一样,每个方法被执行时产生一个栈帧(Statck Frame),栈帧用于存储局部变量表、动态链接、操作数和方法出…

Docker中Mysql报 mbind: Operation not permitted

问题 我们在docker中安装的mysql运行时报 mbind: Operation not permitted mbind: Operation not permitted mbind: Operation not permitted mbind: Operation not permitted mbind: Operation not permitted mbind: Operation not permitted原因 这是Docker的Seccomp安全限…

python之遍历求二叉树的深度、先序遍历、中序遍历、后序遍历

二叉树的结点用一个数组顺序存储,-1表示该节点为空,实现求该二叉树的深度、先序遍历、中序遍历、后序遍历 首先定义一个 Node 类 ,用于表示二叉树中的节点。 class Node:def __init__(self, val):self.val valself.left Noneself.right …

python开发poc

学习使用python做到批量化的漏洞脚本 1.通过fofa搜索结果来采集脚本 2.批量化扫描漏洞 ---glassfish存在任意文件读取在默认48484端口,漏洞验证的poc为: "glassfish" && port"4848" && country"CN" http://loca…