我是靠谱客的博主 神勇方盒,最近开发中收集的这篇文章主要介绍SystemC学习笔记(1):系统描述语言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.系统设计方法学

    为了提高片上系统(System on Chip,SoC)时代集成电路的设计效率,人们提出了两种设计方法学:

  • 基于平台的设计。像搭积木一样把一个复杂的集成电路构建起来,关键在于知识产权(Intellectual Property,IP)的设计重用(Design Reuse)。
  • 基于高层次综合的设计。先对电路进行比寄存器传输级(Register Transfer Level,RTL)更抽象的描述,然后利用高层次综合工具完成到RTL电路的转换。

    无论采用哪种设计方法学,都需要对复杂电子系统进行描绘,上述两种设计方法学各有优缺点,设计人员必须在系统描述的速度和精度之间做出折衷。

2.系统描述语言

    在传统设计方法中,设计的系统级往往使用UML、SDL、C、C++进行描述,而在RTL级使用过硬件描述语言(Hardware Description Language,HDL)如Verilog HDL、VHDL(VHSIC HDL)进行描述。在设计细化阶段,系统级描述向RTL级描述的转换必须手工进行,且不同的描述语言导致系统描述的不一致性。在这种情况下,迫切需要一种语言单一地完成全部设计,能够用于描述各种不同的抽象级别,能够胜任软硬件的协同设计和验证。系统级描述语言(System Level Description Language,SLDL)就是在这个背景下应运而生的。

    对系统级描述语言的要求是:高仿真速度和建模效率,时序和行为可以分开建模,支持基于接口的设计,支持软硬件混合建模,支持从系统级到门级的无缝过渡,支持系统级调试和系统性能分析等。

    当前系统描述语言发展方向有两个:一是扩展传统的硬件描述语言,使之具有系统描述能力,如System Verilog、Superlog;二是扩展传统的高级语言,使之支持硬件描绘,如SystemC。

    相比较而言,Verilog HDL的RTL级描述能力最强,VHDL的行为级描述能力更强,而SystemC则具有更好的系统级描述能力。在硬件描述的RTL及其以下级,SystemC与传统硬件描述语言相比并没有优势。

3.SystemC概述

    SystemC由一个非盈利性组织OSCI(Open SystemC Initiative)负责维护和发展,目前已经获得包括ARM、TI、Synopsys、Erission、Lucent等在内的50多个微电子公司的支持,有望成为继VHDL、Verilog HDL之后的又一个IEEE标准硬件和系统描述语言。

    SystemC完全免费,目前版本是2.2,发布于2007年3月,可以完成(包括)门级以上的设计描述。

    在系统开发初期,可以使用UML对系统需求和架构进行分析和描述,算法部分可以使用Matlab、SPW、CCSS等进行分析,然后利用SystemC进行事物级别建模(Transaction Level Modeling),划分系统软硬件,对目标系统进行比较详细的划分,然后再利用SystemC完成后续流程。

    SystemC本质上是在C++基础上添加的硬件扩展库和仿真核,这使得SystemC可以建模不同抽象级别的包括软件和硬件的复杂电子系统;既可以描述纯功能模型和系统体系结构,也可以描述软硬件的具体实现。SystemC源代码可以用任何标准C++编译环境进行编译,生成可执行文件;运行可执行文件可以生成VCD、WIF和ISDB格式的波形文件,可以使用综合工具如Synopsys SystemC Compiler将SystemC的RTL级描述综合为Verilog HDL的代码用于FPGA设计,也可以综合为门级电路用于ASIC设计。

    SystemC具有所有硬件描述语言所共有的基本特征,包括模块、进程、端口和信号等。为了支持RTL级的并行描述,SystemC采用了与传统硬件描述语言基本相同的调度模型--基于Δ延迟,不过在SystemC中所有的信号和变量的初始化工作在构造函数中进行,比其他函数先执行,避免了像Verilog HDL中由于初始化顺序不同引起的不同仿真器仿真结果的不一致。为了支持进程同步和通信细化,SystemC支持用户自定义的接口(Interface)、端口(Port)和通道(Channel)。

4.基于SystemC的系统设计流程

    使用SystemC一种语言就可以完成从系统到RTL、从软件到硬件的全部设计,从C/C++到HDL不再需要手工转换,整个设计的软硬件可以协同设计和仿真。

    基于SystemC的设计流程如下:

        ┌→SystemC系统级模型→仿真→细化→综合→其他流程─┐

        └─────────────────────────┘

节选整理自《SystemC片上系统设计》一书,陈曦、徐宁仪编著,科学出版社,2003年。

最后

以上就是神勇方盒为你收集整理的SystemC学习笔记(1):系统描述语言的全部内容,希望文章能够帮你解决SystemC学习笔记(1):系统描述语言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部