5、SystemC行为级建模

news2024/11/15 17:39:30

1、sc_port关联sc_interface和channel。sc_module聚合sc_module、var、process和sc_port。sc_cthread和sc_method继承sc_thread。 

        sc_interface中声明很多虚函数,作为接口函数实现接口功能,如send()、recv()等。可以通过发送和接收模块的端口调用(sc_in/sc_port<sc_interface>->send()),实现模块通信。

2、通道实现(继承)了一个或者多个接口。

端口总是与一定的接口类关联sc_in<sc_myInterface>,端口只能连接到实现了该类接口的通道上。

通过端口,模块中的进程可以连接到通道并使用通道提供的方法。

3、通道分为基本通道和分层通道,基本通道是非结构化的,不包含进程,也不能直接读写其他基本通道。而分层通道是一个特殊模块,它可以包含子模块和进程,当然也可以直接读写其他通道。 

4、端口和通道可以通过端口(通道),实现通道和端口的绑定。如:fifo_out/in(fifo)实现端口和通道的绑定,给post1写数据就会把数据写到fifo1中。通道允许并行操作,如果同时读写,则读的结果是写入之前的值。示例:

sc_fifo_out<int> out;

sc_fifo_in<int> in;

sc_fifo<int> fifo;

out(fifo);

in(fifo);

out.write(1);

in.read();

5、wait_for_request()等待请求信号,wait_for_response()等待响应信号。

6、sc_port<ram_if<int>,3>一个端口可以绑定多个接口。

7、sc_fifo是一个模板类。创建:sc_fifo<int> my_fifo(10)创建深度为10的my_fifo。my_fifo.write()写fifo、my_fifo.read()读fifo、my_fifo.nb_write()不阻塞写、my_fifo.nb_read()不阻塞读。my_fifo.num_available()获取my_fifo中的元素个数、my_fifo.num_free()获取fifo中的空闲空间数。

8、代码中可以添加静态规则检查和动态规则检查,避免异常。sc_get_curr_process_handle()获取当前进程句柄。通道属性描述通道的一些特征,比如优先级等。

9、常见通道:sc_signal<T>、sc_signal_rv<T>和sc_fifo<T>。

10、sc_semaphore:信号量,是操作系统提供的管理公有资源的有效手段。代表可用资源实体的数量,主要用于限制同时使用某个共享资源的进程的数量。用法:

#include <boost/interprocess/sync/semaphore.hpp>

boost::interprocess::seaphore sem(2(初始计数为2))

sem.wait();//等待信号量

共享资源代码

sem.post();//释放信号量

11、

寄存器传输层:描述存储单元和组合逻辑块之间的互连关系。形成最终可综合的VHDL,verilog或者SystemC代码。

传输层:的系统建模一般对应着一定的总线协议。这一层的建模需要提供一个精确到时钟周期、符合协议要求的模块互连机制。为IP模块的抽象仿真模型提供精确到周期的接口。

交易层:描述发起设备和目标设备的数据传输,与协议无关。主要用于性能和行为分析。

消息层:以事件驱动系统执行,系统层概念。主要用于制定可执行设计规范和功能划分等。

12、TLM模型:SystemC开发的事务级模型,包含事件正确执行顺序,而且没有底层物理延时,高级数字系统模型化方法。作用:1、抽象通信细节;2、快速搭建架构模型;3、支持软硬件协同设计;4、提高仿真速度,比RTL快1000~10000倍。

13、交易级建模系统一般带有一个或者多个嵌入式微处理器和相应的片上总线通信结构,完成各个功能模块之间的相互通信。主要是利用systemC进行相应的通信抽象,实现通信机制。特点:功能和通信分离;调用接口方法。

14、通信细化,通过适配器,在保持接口不变的情况下,将某个单元的功能模型向更低级别的模型实现细节转化。

15、行为级建模三个关键抽象:行为、状态和事件。

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

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

相关文章

CCF编程能力等级认证GESP—C++3级—20240629

CCF编程能力等级认证GESP—C3级—20240629 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)移位寻找倍数 单选题&#xff08;每题 2 分&#xff0c;共 30 分…

【基础篇】MySQL数据库详解:基础知识详解

一、SQL分类 1.DDL2.DML3.DQL4.DCL二、函数 1.字符串函数2.数值函数3.日期函数4.流程函数三、约束 1.概述2.约束演示3.外键约束四、多表查询 1.多表关系2.多表查询表述3.内连接4.外连接5.自连接6.子查询五、事务 1.事务简介2.事务操作3.事务四大特性4.并发事务问题5.事务隔离级…

C语言——求阶乘的两种方法

第一种方法使用了递归思想 #include <stdio.h> int fun(int N) {if (N 0){return 1;}else{return (fun(N - 1) * N);} } int main() {int N 0;scanf_s("%d", &N);printf("%d",fun(N)); } 第二种方法用的for循环 #include <stdio.h> i…

如何开启idea中的断言功能?

目录 一、什么是断言&#xff1f; 二、Java断言的语法 三、开启断言 一、什么是断言&#xff1f; 断言&#xff08;assert&#xff09;是 Java 中的一条语句&#xff0c;一种在程序中的逻辑&#xff08;如一个结果为真或假的逻辑判断式&#xff09;&#xff0c;目的是验证软…

Unity Shader unity文档学习笔记(十八):unity雾效原理

看很多文章用近平面远平面组成矩阵后转到裁剪空间下通过Z值来解&#xff0c;实际更简单的方式可以直接通过判断距离来实现 FogMgr控制远近面 public class TestFog : MonoBehaviour {public int startDis 0;public int endDis 50;public Vector4 fogParam;public void Awak…

springboot宠物宿舍管理系统-计算机毕业设计源码74795

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 删除信息流程 2.3 系统功能…

javascript:判断输入值是数字还是字母

1 代码示例 要判断输入值是数字还是字母&#xff0c;我们可以通过JavaScript获取输入框的值&#xff0c;然后使用isNaN函数来检查输入值是否为数字。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><s…

第一阶段面试问题(后半部分)

1. c语言中const *p的用法 &#xff08;1&#xff09;const int *p; 或 int const *p; 指向常量整数的指针&#xff0c;通过这个指针不能修改它所指向的整数值&#xff0c;但可以修改指针本身来指向其他地址 const int a 10; const int *p &a; // *p 20; // 错误&…

商家拒单业务

文章目录 概要整体架构流程技术细节小结 概要 商家拒单是电子商务、外卖平台、在线零售等多个行业中可能出现的情况&#xff0c;指的是商家拒绝接受或完成某个订单。这种情况的发生可能由多种原因引起&#xff0c;同时也涉及到商家、平台和消费者的利益平衡。 需求分析以及接…

CTFHUB-XSS-反射型

开启题目&#xff0c;页面如下 先输入以下语句测试一下&#xff0c;发现页面弹出窗口显示“flag”&#xff0c;说明这里存在 XSS 漏洞 <script>alert("flag")</script> 验证存在 XSS 漏洞后&#xff0c;使用 document.cookie 语句在弹窗和控制台中输出当…

DOM案例

一.什么是DOM DOM(Document Object Model)文档对象模型的树形结构 说白了就是用js操作网页 使用方法: 1.找到对象 2.操作 操作网页 节点属性 改变网页内容.... 文档对象模型就是一个树形结构&#xff0c;类似于家谱树 html标签里面包裹了所有的文档内容。他是一个**父亲节…

用了组合式 (Composition) API 后代码变得更乱了,怎么办?

前言 组合式 (Composition) API 的一大特点是“非常灵活”&#xff0c;但也因为非常灵活&#xff0c;每个开发都有自己的想法。加上项目的持续迭代导致我们的代码变得愈发混乱&#xff0c;最终到达无法维护的地步。本文是我这几年使用组合式API的一些经验总结&#xff0c;希望…

【从相邻元素对还原数组】python刷题记录

R3-图篇 饭前一道题 思路&#xff1a; 单向构造 class Solution:def restoreArray(self, adjacentPairs: List[List[int]]) -> List[int]:mnlen(adjacentPairs)#n表示数组元素总数n1#统计dictdefaultdict(int)#存储关系哈希表hashmapdefaultdict(list)for a,b in adjacent…

DeDeCMS漏洞

一.登陆后台 二.文件管理上传shell 我们写一个一句话木马 然后上传 访问他 然后复制网址用工具连接 连接成功 修改模板文件拿shell 找到index.html修改 保存 然后进行下面的操作 访问返回的地址 然后用工具连接 三、后台任意命令执行拿shell 然后写入一个木马 添加成功 点击代…

开源:LLMCompiler高性能工具调用框架

开源&#xff1a;LLMCompiler高性能工具调用框架 LLMCompilerLLMCompiler 框架图任务提取单元使用方式参考链接 LLMCompiler LLMCompiler 是一种 Agent 架构&#xff0c;旨在通过在DAG中快速执行任务来加快 Agent 任务的执行速度。它还通过减少对 LLM 的调用次数来节省 Tokens …

51 华三路由

PC4 路由 能通的区域 MSR2

Vue和React谁更牛逼?看了你就有答案

你好同学&#xff0c;我是沐爸&#xff0c;欢迎点赞、收藏和关注&#xff01;个人知乎、公众号"沐爸空间" 使用 Chrome 浏览器&#xff0c;安装 Vue.js Devtools 和 React Developer Tools 浏览器插件后&#xff0c;打开网站即可知晓当前网站是使用的 Vue 框架还是 …

JCの技巧

当你们私下有矛盾&#xff0c;&#xff08;或者你被J惨了&#xff09;,可以试试以下方法 1.拔电线 优点&#xff1a;快准狠 缺点&#xff1a;看看你身后 2.定时关机 优点&#xff1a;猝不及防 缺点&#xff1a;设置时容易翻车 3.改代码 优点&#xff1a;长代码看不出来…

【数据结构入门 】队列

目录 前言 一、队列的概念及结构 1.概念 2.结构 二、队列的实现 1.队列的声明 2.初始化队列 3.队列的销毁 4.入队 5.出队 6.获取队列有效元素个数 7. 判断队列是否为空 8.获取队首元素 9.获取队尾元素 结论 前言 队列是一种数据结构&#xff0c;它遵循先进先出&#…

数字与位操作——168、670、233、357、400

168. Excel表列名称&#xff08;简单&#xff09; 给你一个整数 columnNumber &#xff0c;返回它在 Excel 表中相对应的列名称。 例如&#xff1a; A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...示例 1&#xff1a; 输入&#xff1a;columnNumb…