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

背景:对不同的用例文件,使用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 17set(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.mzph.cn/news/797782.shtml

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

相关文章

再续前缘——C++【入门】

目录 1. 引用 引用概念 使用场景 1. 做参数 2. 引用做返回值 3.传值、传引用效率比较 4. 引用和指针的不同点 2. 内联函数 3.auto关键字 推导应用场景 auto不能推导的场景 4.基于范围的for循环(C11) 5.指针空值nullptr(C11) 1. 引用 引用概念 引用不是新定义一个…

JUC:手写实现一个简易的线程池(Java)

目录 ​编辑 先上完整代码: 解析: 任务队列: 线程池类: 拒绝策略: 先上完整代码: public class MyThreadPool {public static void main(String[] args) {ThreadPool threadPool new ThreadPool(2, …

Linux进程状态深度解析:探索进程的生命周期

文章目录 一、引言1、进程的概念与重要性2、Linux系统下进程状态的意义3、进程状态与系统性能的关系 二、Linux下进程状态概述1、Linux进程状态的分类2、进程状态信息的获取方法 三、Linux下进程状态详解1、运行状态(Running)2、可中断睡眠状态&#xff…

27.WEB渗透测试-数据传输与加解密(1)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:26.WEB渗透测试-BurpSuite(五) BP抓包网站网址:http:…

实现Hello Qt 程序

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、使用 "按钮" 实现 1、纯代码方式实现 2、可视化操作实现 (1&#xff09…

Hive3.0.0建库表命令测试

Hive创建表格格式如下: create [external] table [if not exists] table_name [(col_name data_type [comment col_comment],)] [comment table_comment] [partitioned by(col_name data_type [comment col_comment],)] [clustered by (col_name,col_name,...)…

对抗样本攻击

对抗样本是指经过特殊设计或调整的输入数据,旨在欺骗人工智能模型,使其产生错误的预测或输出。对抗样本通常是通过对原始输入进行微小但精心计算的改变,使得模型产生意外的结果。这种模糊化的输入可能难以从人类角度甄别,但对机器…

gma 教程:计算标准化降水指数(SPI)

安装 gma:pip install gma (依赖的 gdal 需自行安装) 本文基于:gma 2.0.8,Python 3.10 本文用到数据请从 gma 网站获取:https://gma.luosgeo.com/UserGuide/climet/Index/SPI.html 。 SPEI 函数简介 gma.c…

比较720组结构数列的收敛过程

在行,列可自由变换的平面上3点结构只有6个 这次计算由这6个结构排列组合,构成的所有720个不重复数列的递推收敛过程。 结果表明,所有的数列都可以在有限步内收敛。 有461个数列在3-4-3的递推过程中是天然稳定的,收敛结果就是本身…

STM32学习和实践笔记(4):分析和理解GPIO_InitTypeDef GPIO_InitStructure (c)

第二个成员变量是GPIOSpeed_TypeDef GPIO_Speed;也与int a一样同理。 GPIOSpeed_TypeDef是一个枚举类型,其定义如下: typedef enum { GPIO_Speed_10MHz 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz }GPIOSpeed_TypeDef; #define IS_GPI…

Leetcode刷题-哈希表详细总结(Java)

哈希表 当我们想使⽤哈希法来解决问题的时候,我们⼀般会选择如下三种数据结构。 数组set (集合)map(映射) 当我们遇到了要快速判断⼀个元素是否出现集合⾥的时候,就要考虑哈希法。如果在做⾯试题⽬的时候…

Samba 总是需要输入网络凭证

输入网络凭证: 用户名是 cat /etc/samba/smb.conf,查看 valid users mxw 为用户名。而不是其他账号名或者用户名,更不是登录计算机时的计算机名; 密码是 需要记住安装samba服务器时,自己设置的password&#xff1…

LED发光模组的故障及解决方法

LED发光模组在应用过程中可能会出现各种故障,正确诊断并采取相应的解决方法至关重要,以下是一些常见故障现象及其解决方法的总结: 一、现象:所有的LED闪烁 问题:接触不良 解决方法:检查并重新固定松动处&am…

单片机为什么还在用C语言编程?

单片机产品的成本是非常敏感的。因此对于单片机开发来说,最重要的是在极其有限的ROM和RAM中实现最多产品的功能。或者反过来说,实现相同的产品功能,所需要的ROM和RAM越小越好,在开始前我有一些资料,是我根据网友给的问…

linux网络预备

网络预备 网络协议初识 协议分层 打电话例子 在这个例子中, 我们的协议只有两层; 但是实际的网络通信会更加复杂, 需要分更多的层次。 分层最大的好处在于 “封装” 。 OSI七层模型 OSI(Open System Interconnection,开放系统互连)七层网…

Datacom HCIP笔记-路由策略与路由控制 之二

路由策略和策略的区别? 路由策略: 操作的对象是路由表条目, 实现路由过滤,从而实现访问控制,引入时过滤,发送和接收路由时过滤。 通过配置cost,来实现路径的控制。 策略路由: 对…

【Vue3源码学习】— CH2.8 Vue 3 响应式系统小结

Vue 3 响应式系统小结 1.核心概念1.1 Proxy和Reflect1.2 响应式API1.3 依赖收集与更新触发1.4 触发更新(Triggering Updates):1.5 副作用函数(Effect)1.6 计算属性和观察者1.7 EffectScope1.8 性能优化: 2.…

GPT-5将在6月发布前进行「红队进攻测试」

“GPT-5将在6月发布”的消息刷屏了AI朋友圈。这则消息之所以被无数人相信并转发,是因为已经有不少技术人员在社交平台上晒出了「红队进攻测试」邀请。 基于 GPT系列庞大的用户体量和影响力,OpenAI 将更加重视GPT-5 的安全性,作为GPT-5上市前的…

【编译原理】手工打造语法分析器

重点: 语法分析的原理递归下降算法(Recursive Descent Parsing)上下文无关文法(Context-free Grammar,CFG) 关键点: 左递归问题深度遍历求值 - 后续遍历 上一篇「词法分析器」将字符串拆分为…

水经微图网页版309项功能清单

让每一个人都有自己的地图! 水经微图(简称“微图”)网页版,是越来越受到大家的亲睐了! 就后台统计数据来看,日均IP数据在稳步增长,老访客的占比最高达35%以上。 在上上周,还分别有…