当前位置: 首页 > 专利查询>张伟专利>正文

一种行为级描述到RTL描述的CCC编译器制造技术

技术编号:18525611 阅读:178 留言:0更新日期:2018-07-25 12:38
本发明专利技术提供一种行为级描述到RTL描述的CCC编译器,包括CCC输出子模块A、CCC输出子模块B和CCC输出子模块C,所述行为级描述采用C语言描述,所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C用于将C语言描述转换为RTL描述,所述CCC输出子模块A中包含进程1和进程2,所述CCC输出子模块B中包含进程3,所述进程1和进程2均通过内存访问函数与外部内存模块连接,所述CCC输出子模块C中包含接口函数和共享接口函数,所述进程1与接口函数接线连接,所述进程2、进程3均与共享接口函数接线连接。能够直接将行为级描述映射为RTL描述,降低工作量,避免出错,缩短开发周期。

【技术实现步骤摘要】
一种行为级描述到RTL描述的CCC编译器
本专利技术涉及一种行为级描述到RTL描述的CCC编译器。
技术介绍
数字电路的设计过程为:Idea-行为级描述-RTL描述-门级网标(netlist)-物理版图(layout),RTL为RegisterTransferLevel的缩写,RTL描述指的是用寄存器这一级别的描述方式来描述电路的数据流方式,描述更详细,并且从寄存器的角度把数据的处理过程表达出来,可以容易地被综合工具综合成电路的形式。行为级是RTL的上一层,行为级是最符合人类逻辑思维方式的描述角度,一般基于算法,用C/C++来描述,行为级的描述更多的是采取直接赋值的形式,只能看出结果,看不出数据流的实际处理过程,其中又大量采用算术运算,延迟等一些无法综合的语句,常常只用于验证仿真。从行为级到RTL的转换,传统都是由IC设计人员手工翻译,但是这个过程繁琐,工作量很大,特别是随着数字系统的复杂性提升,这样的纯手工“翻译”过程容易出错,且使得开发周期变长。
技术实现思路
本专利技术所要解决的技术问题在于提供一种行为级描述到RTL描述的CCC编译器,能够直接将行为级描述映射为RTL描述,降低工作量,避免出错,缩短开发周期。为解决上述现有的技术问题,本专利技术采用如下方案:一种行为级描述到RTL描述的CCC编译器,包括CCC输出子模块A、CCC输出子模块B和CCC输出子模块C,所述行为级描述采用C语言描述,所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C用于将C语言描述转换为RTL描述,所述CCC输出子模块A中包含进程1和进程2,所述CCC输出子模块B中包含进程3,所述进程1和进程2均通过内存访问函数与外部内存模块连接,所述CCC输出子模块C中包含接口函数和共享接口函数,所述进程1与接口函数接线连接,所述进程2、进程3均与共享接口函数接线连接,所述进程2与进程3通过共享内存连接,所述进程3上连接有全局变量,所述进程2连接在全局变量上,所述接口函数通过外部第三方接口函数与外部其他模块连接。进一步的,还包括内嵌第三方模块,所述内嵌第三方模块通过内嵌第三方接口函数连接在进程3上,所述进程3上还连接有内嵌第三方内存模块,所述进程3通过静态内存访问函数连接内嵌第三方内存模块,通过非静态内嵌第三方接口函数连接内嵌第三方模块。进一步的,上述连接均通过I/O端口连接,CCC编译器上还设有针脚,所述端口或针脚通过接口函数定义。进一步的,所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C将每个C语言描述文件编译成单独的RTL模块,然后将所有独立的RTL模块连接在一起,产生完整的RTL设计,生成RTL代码描述。进一步的,所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C将C语言描述转换SystemC进行验证,进行时序验证后再产生相同时序的RTL描述。有益效果:本专利技术采用上述技术方案提供一种行为级描述到RTL描述的CCC编译器,能够直接将行为级描述映射为RTL描述,降低工作量,避免出错,缩短开发周期。附图说明图1为本专利技术的结构示意图。具体实施方式如图1所示,一种行为级描述到RTL描述的CCC编译器,包括CCC输出子模块A、CCC输出子模块B和CCC输出子模块C,所述行为级描述采用C语言描述,所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C用于将C语言描述转换为RTL描述,所述CCC输出子模块A中包含进程1和进程2,所述CCC输出子模块B中包含进程3,所述进程1和进程2均通过内存访问函数与外部内存模块连接,所述CCC输出子模块C中包含接口函数和共享接口函数,所述进程1与接口函数接线连接,所述进程2、进程3均与共享接口函数接线连接,所述进程2与进程3通过共享内存连接,所述进程3上连接有全局变量,所述进程2连接在全局变量上,所述接口函数通过外部第三方接口函数与外部其他模块连接。还包括内嵌第三方模块,所述内嵌第三方模块通过内嵌第三方接口函数连接在进程3上,所述进程3上还连接有内嵌第三方内存模块,所述进程3通过静态内存访问函数连接内嵌第三方内存模块,通过非静态内嵌第三方接口函数连接内嵌第三方模块。上述连接均通过I/O端口连接,CCC编译器上还设有针脚,所述端口或针脚通过接口函数定义。所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C将每个C语言描述文件编译成单独的RTL模块,然后将所有独立的RTL模块连接在一起,产生完整的RTL设计,生成RTL代码描述。所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C将C语言描述转换SystemC进行验证,进行时序验证后再产生相同时序的RTL描述。采用上述结构可以进行以下转换:C文件转换为RTL模块;进程、简单接口函数和共享接口函数的指令转换为顺序和/或组合逻辑;内嵌第三方接口函数的指令被转换为片上的内嵌模块;访问函数调用第三方模块而且由编译器自动调用;外部第三方接口函数的指令转换为从原生模块到外部模块的连接;所有形式的接口函数的形参都转换为模块上的I/O端口;当一个模块中的进程调用另一个模块中的接口函数时,将在调用模块上创建I/O端口;外部内存访问函数和自定义内存访问函数的指令转换为对应内存的路径;全局变量访问通过端口;共享接口与访问函数通常产生竞争,需自动或手动产生仲裁电路;在编译器的链接器阶段,所有模块的I/O端口都连接在一起以完成端口连接。复杂的硬件设计将包含许多自治的有限状态机(FSM),FSM通常等待输入,通过一系列状态处理输入,并产生一些输出,它将永远重复这个输入-进程-输出周期。代码重构c代码的一个重要组成部分是进程,它是使用,"ccc_process",属性指定为CCC进程的c函数,当由编译器产出硬件模块时,一个进程(即定义为ccc_process的C函数)将成为FSM,代码重构C程序的一个重要任务是确定代码的哪些部分应该转换成进程,从而变成FSM。如果代码已经是多线程的,那么显而易见的事情是将线程转换为CCC进程;如果代码是单线程的,则应标识可从并发运行中受益的代码部分,并将这些部分转换为进程并在原生C环境中进行测试。进程在原生C环境中对应为线程,在证明新的并发代码在原生环境中正确执行后,可以使用CCC编译器进行编译以生成VerilogRTL。当多个进程并发时,需要在它们之间进行仲裁,以便在它们试图同时访问变量时获得正确的结果。如果代码已经是多线程的,则仲裁已经实现,必须确保仲裁机制符合CCC编译器要求。如果原始代码是单线程的,则必须加上仲裁以确保正确性。新的多线程和仲裁代码应该在原生C环境中运行,以验证它是否产生正确的结果,然后使用CCC编译器对其进行代码重构和编译以生成RTL。在硬件域中,存储比在原生C环境中更复杂。在原生环境中,所有C变量都驻留在公共内存中,原生编译器为每个变量分配一个唯一的地址。在硬件方面,有两种类型的存储、触发器存储(flip-flop)和内存,并且可以有多个内存,触发器存储是任意访问的,速度快,但不是可寻址的。相比之下,内存具有n字,从0到n-1,表示此内存中某个位置的地址,多个私有内存有各自地址空间;每个从地址0开始,不同的变量在不同的内存中可以有相同的地址。C函数在CCC编译器中普通函本文档来自技高网...

【技术保护点】
1.一种行为级描述到RTL描述的CCC编译器,其特征在于:包括CCC输出子模块A、CCC输出子模块B和CCC输出子模块C,所述行为级描述采用C语言描述,所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C用于将C语言描述转换为RTL描述,所述CCC输出子模块A中包含进程1和进程2,所述CCC输出子模块B中包含进程3,所述进程1和进程2均通过内存访问函数与外部内存模块连接,所述CCC输出子模块C中包含接口函数和共享接口函数,所述进程1与接口函数接线连接,所述进程2、进程3均与共享接口函数接线连接,所述进程2与进程3通过共享内存连接,所述进程3上连接有全局变量,所述进程2连接在全局变量上,所述接口函数通过外部第三方接口函数与外部其他模块连接。

【技术特征摘要】
1.一种行为级描述到RTL描述的CCC编译器,其特征在于:包括CCC输出子模块A、CCC输出子模块B和CCC输出子模块C,所述行为级描述采用C语言描述,所述CCC输出子模块A、CCC输出子模块B和CCC输出子模块C用于将C语言描述转换为RTL描述,所述CCC输出子模块A中包含进程1和进程2,所述CCC输出子模块B中包含进程3,所述进程1和进程2均通过内存访问函数与外部内存模块连接,所述CCC输出子模块C中包含接口函数和共享接口函数,所述进程1与接口函数接线连接,所述进程2、进程3均与共享接口函数接线连接,所述进程2与进程3通过共享内存连接,所述进程3上连接有全局变量,所述进程2连接在全局变量上,所述接口函数通过外部第三方接口函数与外部其他模块连接。2.根据权利要求1所述的一种行为级描述到RTL描述的CCC编译器,其特征在于:还包括内嵌第三方模块,所述内嵌第三方模块通过内嵌第三方接口函数连接在进...

【专利技术属性】
技术研发人员:张伟
申请(专利权)人:张伟
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1