0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SystemC中的数据类型概念

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-11-02 15:44 次阅读

SystemC中的事件

在SystemC中,事件提供了一个底层的处理程序间同步及重新启动的方式,它能用来实现通道的功能,定义事件的语法如下:

sc_event event_name;

另外,要触发或引起一个事件,要使用通知函数notify(
),语法如下:

event_name.notify参数); 或 notify(参数,event_name);

SystemC中的数据类型

作为C++语言的扩展,SystemC支持所有C++的数据类型,包括long、int、short、char、unsigned
long、unsigned int、unsigned short、unsigned char、float、double、long double和bool。另外,也能根据需求自行定义数据类型。

此外,SystemC还新增描述硬件的数据类型,这些类型都以sc_开头,这些数据类型包括sc_bit、sc_logic、sc_int、sc_uint、sc_bigint、sc_biuint、sc_bv、sc_lv、sc_fixed、sc_ufixed、sc_fix、sc_ufix。各个数据类型的说明如表4-4所示。

图片
在这里插入图片描述

SystemC中的定时

为了能够实现描述电路的行为,SystemC增加了对时钟的支持。在SystemC的库中,定义了两个特殊的对象:sc_time类和sc_clock类。

这两个对象在SystemC库中定义的时候分别都有不同的构造函数,因此用户可以根据不同的需要定义自己的时钟模型。在SystemC中,支持的时间单位包括SC_FS、SC_PS、SC_NS、SC_US、SC_MS和SC_SEC,它们分别表示不同的时间精度。下面是定义一个时钟的例子,用来简单说明SystemC中定时的概念。

如果要产生一个周期为10ns的时钟信号,可以这样实现:

sc_time time(10,SC_NS);
sc_clock clk("clk",time);

也可以这样定义一个完整的时钟(包含占空比、开始时间、初始逻辑等参数):

sc_clock clk("clk"10,SC_NS,0.55,SC_NS,false);

这个时钟周期为10ns,占空比(高电平持续时间与时钟周期的比)为0.5(0.5∶1),时钟初始第一逻辑值的保持时间是5ns,第一个逻辑值是高电平(false)。

另一个和时间概念相关的是wait(
)函数。wait( )函数可以用来描述系统的等待时间。例如,在一个进程中wait(10,SC_NS)表示进程在等待10ns后被激活。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟
    +关注

    关注

    10

    文章

    1710

    浏览量

    131238
  • ESL
    ESL
    +关注

    关注

    1

    文章

    72

    浏览量

    21318
  • systemc
    +关注

    关注

    2

    文章

    25

    浏览量

    14535
收藏 人收藏

    评论

    相关推荐

    GaussDB 数据类型介绍

    进行数据类型转换,以满足不同的需求。本文将以示例的形式罗列并介绍一些常见的数据类型转换方法等。  数据类型概念及特点 数据类型是一组值的集合
    的头像 发表于 06-05 16:40 1590次阅读
    GaussDB <b class='flag-5'>数据类型</b>介绍

    1.2FreeRTOS数据类型

    1.2FreeRTOS数据类型2017.2.1书zzwFreeRTOS 主要自定义了以下四种数据类型:TickType_t如果用户使能了宏定义configUSE_16_BIT_TICKS,那么
    发表于 07-22 23:27

    51单片机数据类型解析

    数据类型数据结构的定义是一个值的集合以及定义在这个值集上的一组操作。数据类型包括原始类型、多元组、记录单元、代数
    发表于 11-16 08:45 2.4w次阅读
    51单片机<b class='flag-5'>中</b>的<b class='flag-5'>数据类型</b>解析

    vhdl数据类型

    VHDL的标识符可以是常数、变量、信号、端口、子程序或参数的名字。VHDL数据类型可以分成四大类: 标量型(SCALAR TYPE):属单元素的最基本的数据类型,通常用于描述一个
    发表于 03-30 15:59 11次下载

    编程语言SCLANY数据类型

    ANY数据类型 在编程语言 SCL 和 STL ,如果在块参数设定了一个 ANY 指针,则任意类型的存储器都可以在块调用时传递。 但是,ANY 指针不能存储有关存储器结构的任何信息
    的头像 发表于 05-25 11:02 5100次阅读
    编程语言SCL<b class='flag-5'>中</b>ANY<b class='flag-5'>数据类型</b>

    重视变量的数据类型

    不管在什么语言中,定义一个变量时必然要在内存开辟一个相应大小的空间来存储该变量。不同的数据类型在内存所占的空间大小不同,其所能表示的数据范围也不相同。在单片机C语言中,常用的基本数据类型
    发表于 01-13 15:05 1次下载
    重视变量的<b class='flag-5'>数据类型</b>

    Struct结构数据类型

    Struct类型是一种由多个不同数据类型元素组成的数据结构,其元素可以是基本数据类型,也可以是Struct、数组等复杂数据类型以及PLC
    的头像 发表于 07-25 17:02 2902次阅读

    结构数据类型(Struct)及应用案例

    Struct数据类型使用非常灵活,随时可以使用,但是相对于PLC数据类型 (UDT) 有以下缺点,所以建议需要使用Struct类型时,可以使用PLC数据类型(UDT)代替。
    的头像 发表于 07-27 16:10 1709次阅读

    什么是数据类型转换

    常用的3种数据类型:1、Python数据类型第一种:字符串(str)。 2、Python数据类型第二种:整数(int)。 3、Python数据类型第三种:浮点数(float)。
    的头像 发表于 02-23 15:21 1716次阅读

    定义数据类型

    在运算之前我们必须首先定义出数据类型,定义出脚本支持的数据类型,这是运算的基础。 这一小节我们将定义出数据类型,在这里我们暂时定义四个数据类型:
    的头像 发表于 03-03 10:10 883次阅读

    MATLAB变量和数据类型的基本介绍

    在MATLAB,变量和数据类型是非常重要的概念
    的头像 发表于 07-05 09:44 1726次阅读

    ARRAY 数据类型的变量

    要求 全局数据块已打开。 操作步骤 要声明一个 ARRAY 数据类型的变量,请按以下步骤操作: 在“名称”(Name) 列,输入变量的名称。 在“数据类型”列
    的头像 发表于 07-06 11:08 1009次阅读

    F型PLC数据类型与标准PLC数据类型(UDT)之间的差别在哪?

    可以像使用标准 PLC 数据类型 (UDT) 那样,声明和使用 F 型 PLC 数据类型 (UDT) 。可以在安全程序以及标准用户程序中使用 F 型 PLC 数据类型 (U
    的头像 发表于 08-27 09:54 1071次阅读
    F型PLC<b class='flag-5'>数据类型</b>与标准PLC<b class='flag-5'>数据类型</b>(UDT)之间的差别在哪?

    Redis的数据类型有哪些

    Redis的数据类型有哪些?有五种常用数据类型:String、Hash、Set、List、SortedSet。以及三种特殊的数据类型:Bitmap、HyperLogLog、Geospatial
    的头像 发表于 10-09 10:51 736次阅读

    plc数据类型怎么理解和应用

    PLC(可编程逻辑控制器)是一种工业自动化设备,用于控制机械和工业过程。在PLC编程数据类型是非常重要的概念,因为它决定了程序数据的存
    的头像 发表于 12-19 11:39 3836次阅读