新闻中心

EEPW首页>EDA/PCB>设计应用> 基于SystemC的系统级芯片设计方法研究

基于SystemC的系统级芯片设计方法研究

作者:刘强 时间:2008-05-27 来源:微处理机 收藏

  为了支持寄存器传输级的并行描述,还采用了与传统硬件描述语言基本相同的调度模型基于Δ(delta)延迟。一个Δ周期包括求值和更新2个阶段,在一个时间点上,这样的Δ周期会出现直到再求值前后的结果不再发生变化。而在宏观上,时间并没有前进。2.01调度模型中,在初始化阶段(相当于时间0点),所有进程包括方法进程和线程都将执行一次。不同的是,在中,所有的信号和变量的初始化工作在构造函数中进行,他比其他函数先执行,避免了像中由于初始化顺序不同引起的不同仿真器仿真结果的不一致。

本文引用地址://m.amcfsurvey.com/article/83115.htm

  为了支持进程同步和通信细化,SystemC支持用户自定义的接口,端口和通道。接口是方法的集合,但不具体实现这些方法,在C++语法中,他们都是纯虚函数。通道具体实现一个或者多个接口。端口定义了他能够连接的具体的接口类型,只能被用于连接实现了该类型接口的通道。在有些情况下,进程可以直接读写通道而不必通过端口,而其他情况下则必须通过端口进程才能读写通道。

  在SystemC中,进程只调用通道提供的接口方法。虽然接口方法是在通道中实现的,然而他是在进程上下文中被执行的。这被称作接口方法调用(InteRFaceMethodCall,IMC),接口方法调用和支持不同抽象级别的混合建模是通信细化的基础。

  4 基于SystemC的设计思想和设计流程

  用SystemC可以在抽象层次的不同级描述系统。在系统最高层的系统级可以用C/C++描述系统的功能和算法。在系统的硬件实现部分可以在行为级到RTL级用SystemC 的类来描述,系统的软件部分自然可以用C/C++语言描述。而且,系统的不同部分可以在不同的抽象层次描述,这些描述在系统仿真时可以协同工作。并且,用SystemC不但可以描述要开发的系统本身,还可以描述系统的测试平台Testbench,以提供测试信号用于系统的仿真。

  SystemC由一组描述类的头文件和一个包含仿真核的连接库Link Library所组成,在用户的建模描述程序中必须包括相应的头文件,然后可以用通常的C++编译器编译该程序。在连接Link时要调用SystemC的连接库产生可执行的系统仿真程序。利用SystemC建模的思想如图2所示。

  基于SystemC的设计流程与以前的设计流程的本质区别在于,使用一种语言就可以完成从系统到RTL、从软件到硬件的全部设计,整个设计的软硬件可以协同设计和仿真,恰好弥补了传统设计方法中的这些不足。

  基于SystemC的设计流程如图3所示。

  5 应用实例

  下面给出一个基于SystemC设计的实例:RS(15,9)的设计详细地说明整个设计流程。

  RS(Reed-Solomon)[4]纠错码是目前最有效、应用最广泛的差错控制编码之一,是一类具有很强纠错能力的多进制的线性分组码,RS(15,9)码编码器,主要应用于移动通信系统的差错控制,由于该编码器小巧、灵活,纠错性能好,对于移动通信系统可靠性的提高、复杂度的降低有至关重要的作用[5]。整个系统如图4所示。

  整个设计从用SystemC为整个系统建模开始,同时为模块建立Testbench。然后使用VC ++6.0和Modelsim进行功能仿真,接着在SystemC可综合子集的范围内对代码进行约束,使用支持SystemC的综合工具SCC(SystemC Compiler)完成综合,SystemC的综合实际上还是靠综合HDL语言文件得到的网表,而SCC这个工具是SystemC和HDL之间的一个桥梁,因此对于SystemC的综合首先是将SystemC描述的RTL级电路通过SCC综合,综合的结果是生成相应的Verilog文件,在这个转变过程中,模块的整体结构被保存,如每一个sc _module被转换成独立的Verilog模块,并存放在module_namev文件中;每一个进程(SC_METHOD)被转换成带进程名的always块;变量和端口也以同样的名字在Verilog文件中生成。因此,后续流程就与传统设计语言设计的FPGA流程连接上了。

  本文选用Xilinx的SPARTAN2系列的FPGA XC2S50PQ28对本设计进行验证。软件平台主要使用的是Xilinx的集成开发环境ISE。其中第三方工具使用了综合工具FPGA CompilerⅡ,布局布线工具选用的是ISE中的Webpack suite。

pic相关文章:pic是什么


c语言相关文章:c语言教程


c++相关文章:c++教程




评论


相关推荐

技术专区

关闭