SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠

上传人:re****.1 文档编号:506773487 上传时间:2023-10-06 格式:DOCX 页数:20 大小:689.54KB
返回 下载 相关 举报
SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠_第1页
第1页 / 共20页
SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠_第2页
第2页 / 共20页
SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠_第3页
第3页 / 共20页
SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠_第4页
第4页 / 共20页
SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠》由会员分享,可在线阅读,更多相关《SOC课程设计报告_基于systemC和UML的语音备忘器设计_有程序代码_邱郁惠(20页珍藏版)》请在金锄头文库上搜索。

1、基于SystemC的语音备忘器设计摘要:随着VLSI的集成度越来越高,设计也越趋复杂。传统的设计方法如原理图输入、HDL语言描述在进展复杂系统设计时,设计效率往往比拟低。特别是在算法由软件转化为硬件的环节上,传统的设计方法的效率不是很高,设计者往往要消耗大量的时间和精力手工进展算法的转化。为解决这些问题,一种新的系统级的设计方法SYSTEMC被提出。SYSTEMC是一种方法,也是一个C+库,用SYSTEMC可以很方便地实现一个软件算法的硬件实现,以及完成一个系统级的设计。关键词:SystemG语音备忘器、UML一、SystemC的开发平台1.1 概述随着VLSI的集成度越来越高,设计也越趋复杂

2、。一个系统的设计往往不仅需要硬件设计人员的参与,也需要有软件设计人员的参与。软件设计人员与硬件设计人员之间的相互协调就变的格外重要,它直接关系到工作的效率以及整个系统设计的成败。传统的设计方法没有使软件设计工作与硬件设计工作协调一致,而是将两者的工作割裂开来。软件算法的设计人员在系统设计后期不能为硬件设计人员的设计提供任何的帮助。同时现在有些大规模集成电路设计中往往带有DSPCore或其它CPUCore。这些都使得单纯地用原理图或硬件描述语言来设计、仿真这么复杂的系统变得十分困难。SystemCt是在这些矛盾的背景下提出的。它的出现为复杂的系统设计提供了一条有效的解决途径。SystemC是由S

3、ynospyInc.提出的,目前最新的版本为V2.0。它提出的目的就是以一种系统设计的思想进展系统设计。它将软件算法与硬件实现很好的结合在一起,提高了整个系统设计的效率和正确性。SystemC是一个C+库,也是一种使设计者可以有效地设计出一个软件算法的准确循环模型,硬件构造以及系统级设计的方法。设计者可以用SystemCFF发工具或在标准C+开发工具中加如System(W制作系统级模型,快速地仿真和优化设计,以及研究不同的算法,并且为硬件和软件设计人员提供一个设计系统的可执行规X。可执行规X本质上是一个C+程序,它显示了和设计系统同样的性能,为软件设计人员和硬件设计人员提供了一个设计的标准。S

4、ystemC库提供了创造系统构造模型的必须构造,包括那些在C+没有的功能如硬件时序,并行和触发功能。C+这种面对象语言提供了通过增加类来扩展语言的能力,而这种能力是C语言所不具备的。因此,SystemO用大家熟悉的C+语言和开发工具。1.2 SYSTEMC的特点SystemC支持对硬件和软件的联合设计,支持描述一个既包含硬件局部也包含软件局部的复杂系统构造。它也支持对接口的描述,有以下几个显著的特点:1. SystemCT以为软件设计人员和硬件设计人员提供一个系统的可执行规X。设计人员使用该可执行规X可以防止设计中矛盾和错误的产生,并确保设计的完备性。这是应为在设计可执行规X时,系统设计者必须

5、设计出也一个和系统具有同样工作状态的程序,通过这个程序可以开掘出潜在的矛盾和错误,并将这些矛盾和错误消除在整个设计的开场阶段,而不是在整个系统进展调试阶段才发现和解决这些矛盾和错误。这个程序还可以帮助设计者确保整个系统设计的完备性。2设计人员利用这个可执行的系统规X,还可以发现设计中概念模糊的地方。无论什么时候,设计人员对设计产生疑惑,就可以运行这个可执行程序以明确在这个问题上系统设计人员是如何处理的,从而确保系统设计的正确性。而现在的设计方法不能使设计人员方便迅速的解决这些疑惑。甚至这些疑惑是系统设计人员也不曾考虑过,这可能导致系统要重新进展设计。3 .在系统设计被实现以前,设计人员还可以通

6、过用SystemCH十的系统可执行规X来验证整个系统设计。这样可以防止由于在系统设计上的失误,而使系统实现不能到达要求。现在的设计方法不能提供这样的手段在设计完成前进展系统的验证,对系统的验证必须是在系统设计完后。即使在完成前进展验证,由于不能完全模拟实际系统的工作,其结果也只能作为一种参考。4 .System饭计的可执行规X所使用的TESTBENCH文件可以通过小X围的修改或直接用在实现后的系统仿真。这就为设计实现人员带来很大的好处,他们不必花很多的时间去编写用来验证实现后系统正确性的TESTBENCH文件。而现在采用的设计方法所使用的TESTBENCH文件却没有提供这样的便利条件。这是应为

7、软件设计人员和硬件设计人员两者的设计思想和设计手段都是不同的,一个软件设计人员所使用的TESTBENCH文件并不能被硬件设计人员使用,甚至不能给硬件设计人员任何帮助。1.3SYSTEMC设计与传统设计比拟现在的系统设计一般是由系统工程师用C语言或C+语言设计出一个系统模型,并在系统级层次上检验概念和算法。当这些概念和算法被检验为正确无误时,C/C+模块被分解为功能相对独立的子模块。这些相对对立的子模块由硬件设at人员手工地转化为VHDL或Verilog语言用以硬件实现。这一个设计流程被显示在图1中。从图1所示的设计流程中我们可以发现以下几个问题:1、人工将CC+程序转换为HDL程序容易产生错误

8、。在现在的这种设计方法中,系统工程师先按期望的设计要求设计出一个C模块,并验证这个模块使其到达期望的设计要求。然后系统工程师所设计的C模块被硬件设计人员手工转换为HDL模块。这个转换过程不仅容易产生错误,而且还很浪费时间。这是因为CC+语言和HDL语言有着显著的区别。首先,HDL的处理方式比CC+的复杂。CC+程序采用顺序执行的处理方式,而HDL程序中既有顺序执行也有并行执行的处理方式。要将CC+程序转化为HDL程序必然要引入一些控制信号,由这些信号控制HDL程序的运行,但这样也容易产生错误。其次,CC+语言不涉及到时序关系。由于CC+语言不支持对时序的描述,系统工程师设计的系统模型只是验证了

9、概念和算法,而只能对时间消耗上有一个大概的估计。这就使得硬件实现时,为满足系统在时间上的要求,硬件设计人员必须对软件算法进展一定的改造或优化。而这些改造或优化也有可能引入各种错误。2、系统模块和HDL模块间缺乏联系。当系统模块被转换为HDL模块后,HDL模块成为整个系统设计的焦点。为适应硬件实现的特点,硬件设计人员会更改系统设计人员的设计,但这种更改只是在HDL模块中进展,而系统设计人员设计的C模块并没有因此更改。这就使得系统工程师设计的C模块和当前硬件设计人员设计的HDL模块缺乏必要的联系。当硬件设计人员遇到概念模或理解错误的地方时,往往不能马上从C模块中得到明确的解答。此时,C模块的设计人

10、员也不一定能为HDL设计人员提供有效的帮助。3、多系统测试。不但C模块要车专换为HDL模块,对C模块的测试也要人工转换为在HDL环境下的测试。这种转换也很复杂,而且浪费时间。HDL设计人员是根据他所设计的HDL模块和系统要求来设计TESTBENCH,这使得硬件设计人员不可能利用软件设计人员所使用的测试文件。同时,HDL人员要设计出一个女?的TESTBENCH也需要比拟长的时间。为解决在现在设计流程中所带来的种种弊端,一种全新的设计流程被提出,这就是System饭计流程。它能很好的解决上面所提到的各种设计弊端,大大提高设计效率。图2是SystemM硬件设计流程。fSystemC模型Y算法级仿真)

11、(其他处理)图2SystemC设计流程这种设计方法与现在常用的设计方法相比有很多优点:1、精炼的设计方法。使用SystemC设计系统,系统设计人员不必花费很大的精力将整个系统设计由C语言描述车t换为HDL描述。系统设计人员可以通过在C模块中很小的区域X围内参加必要的硬件和时序构造描述,从而将C模块方便准确地转化为一个有效的硬件设计,而防止将另行设计一个硬件模块。利用System吸计方法,设计人员可以很轻松地实现一个设计的更改,或在优化算法时检测出一些设计错误并及时修改。2、单一语言书写。使用SystemCH十系统,整个设计都用一种语言设计系统,降低了对设计人员的要求,减少了语言转换时所造成的错

12、误。这一优点也使得设计人员可以在一个比拟高的层次上进展系统模块设计。在较高层次的设计会导致产生小的设计代码,使设计和仿真的速度比传统的设计方法要快很多。这一点是很显著的。1.4 SystemC勺开发流程用System!以在抽象层次的不同级别描述系统。在系统最高层的系统级可以用C/C+描述系统的功能和算法。在系统的硬件实现局部可以在行为级到RTL级用System勺类来进展描述。系统的软件局部自然可以用C/C+语言描述。由此可见针对系统的不同局部,SystemCTB可以在不同的抽象层次对其进展描述,而且这些描述在系统仿真时可以协同工作。用System仅可以描述要开发的系统本身,还可以描述系统的测试

13、平台以提供测试信号用于系统的仿真。一个熟悉C+语言的用户只要了解类库中各种类引入的语义就可以用System颁程。SystemC由一组描述类的头文件和一个包含仿真核的连接库所组成,在用户的描述程序中必须包括相应的头文件,然后可以用通常的ANSIC+编译器编译该程序。在连接时要调用SystemC勺连接库产生可执行的系统仿真程序。整个开发流程如图3所示。系统、模型测试图3Systems发流程1.5 System。勺建模特点SystemCm言的特点就是能够支持对复杂系统的设计。一个复杂的系统设计一般都要涉及软件和硬件两个方面,SystemCE这两个方面都有其独到之处。它可以在任何C+集成环境中描述硬件

14、和软件,以及它们之间的接口。SystemCM言平台提供的建模元素和建模能力主要包括以下内容:模块语句:SystemC中定义了模块类,它相当于C+中的类定义。它是一个层次式设计的入口,一个模块可以嵌套其他模块;进程语言:进程被包含在模块中,用来描述模块的功能。在SystemC中有三种不同类型进程以满足不同软、硬件设计人员的需求;端口语句:用来描述模块和外界通信的端口。SystemC中支持单向和双向的端口;信号语句:信号主要用来实现模块间以及模块内部各进程间的通讯。SystemC支持单驱动和多驱动的信号。多驱动的信号可以有多个驱动,就是通常说的总线(BUS);丰富的数据类型:SystemC提供丰富

15、的数据类型以满足多种抽象模型,固定精度的数据类型可用于快速仿真,任意精度的数据类型可用于大量数据的计算,定点数据类型可用来实现DSP;时钟语句:时钟在同步电路设计中是一个非常重要的角色,而C/C+在描述系统时却很难表达时钟。SystemC中对时钟进展了描述,并把它当作一种特殊的信号。时钟为仿真过程提供了时间基准,SystemC同时还支持在同一系统中的多个时钟,以及任意相位的时钟;通讯协议:SystemC支持多层通讯协议,用来描述各种抽象级别的模型和系统I/O协议;波形跟踪:SystemC支持VCD、WIF和ISDB格式波形的跟踪。二、UML统一建模语言2.1 概论UML与SystemC勺绝妙搭配形成一股新式的芯片设计风潮。他们都可以用来呈现软硬件设计,最大的不同之处在于,UML是一种图形语言,而System么是程序语言。当芯片设计的复杂度不断增高时,SystemC代码时机变得越来越难以掌握,所以会需要通过UML的图形式设计来呈现真题的设计,再对应生成SystemC代码以得出更细致的设计。UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号