面向ASIC型IP核实现软件可编程的方法技术

技术编号:3844456 阅读:194 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种面向ASIC型IP核实现软件可编程的方法,该方法包括:将IP核的I/O端口与主控制器的地址空间进行映射;编写供信号波形生成器使用的HDL代码,解析总线接口接收的数据属性,并产生具体的信号波形,提供给IP核使用。利用本发明专利技术,通过CPU/MCU地址空间与目标IP核I/O端口的映射、目标IP核端的总线接口设计和信号波形生成器的设计,实现了通过高级语言编写控制程序操控ASIC型IP核,大大方便了ASIC型IP核的灵活性,简化了使用难度,加速了用户的开发过程,具有普遍适用意义。

【技术实现步骤摘要】

本专利技术涉及集成电路设计
,具体地说,涉及一种面向专用集成电路 (ASIC)型知识产权(IP)核实现软件可编程的方法。
技术介绍
最近的十几年中,随着集成电路制造技术和系统要求的提高,集成电路的软件可 编程研究又成为一个热点。已有的大规模、超大规模ASIC型IP核因不易于进行重新设计, 故对其进行软件可编程设计成为设计人员的最大挑战。ASIC型IP核具有可靠性强、成本低、体积小、功耗低等特点,但因缺少软件可编程 能力,使得利用硬件电路对其进行控制或配置的方法缺少灵活性、增大用户的使用难度和 开发周期、不能满足日益激烈的市场竞争,对于超大规模ASIC型IP核尤其如此。因此,对 ASIC型IP核进行软件可编程设计,是保持其既有性能优势,并增加灵活性、简化用户使用 复杂度的可行之路。在针对ASIC型IP核进行软件可编程设计的时候,有两个问题必须解决一是如何 在不对IP核内部进行改动的情况下实现对ASIC型IP核的软件可编程设计;二是如何将软 件代码指令转化成IP核能够识别的控制信号或配置信号,不对已有IP核内部进行改动,可 以免去IP核再设计、再验证的时间和成本开销,具有很强的现实意义和使用价值。为了解决以上问题,本专利技术提出了一种面向ASIC型IP核实现软件可编程的方法。
技术实现思路
(一)要解决的技术问题本专利技术的主要目的在于提出一种面向ASIC型IP核实现软件可编程的方法,以简 便高效的实现ASIC型IP核的软件可编程设计工作。( 二 )技术方案为达到上述目的,本专利技术提供了一种面向ASIC型IP核实现软件可编程的方法,该 方法包括步骤101 将IP核的I/O端口与主控制器的地址空间进行映射;步骤102 编写供信号波形生成器使用的HDL代码,解析总线接口接收的数据属 性,并产生具体的信号波形,提供给IP核使用。上述方案中,所述步骤101具体包括在主控制器中为该IP核分配适量的地址空 间,并将该地址空间内的地址与该IP核的众多控制/配置/状态/数据端口一一对应。上述方案中,所述步骤101之前进一步包括根据IP核的使用说明书,分析该IP 核所需的控制信号、配置信号、数据信号、状态信号的数量,选定地址总线或数据总线的类 型。(三)有益效果利用本专利技术,通过CPU/MCU地址空间与目标IP核I/O端口的映射、目标IP核端的总线接口设计和信号波形生成器的设计,实现了通过高级语言编写控制程序操控ASIC型 IP核,并实现了基于LE0N3+AHB的面向超大规模可配置专用数据处理器ASIC型IP核的软 件可编程设计,大大方便了 ASIC型IP核的灵活性,简化了使用难度,加速了用户的开发过 程,具有普遍适用意义。附图说明 图1是本专利技术提供的面向ASIC型IP核实现软件可编程的方法流程图;图2是IP核包装结构示意图;图3是以IP核为基础的SoC的示意图;图4是用高级语言实现对IP核控制的流程图;图5是软件中的C语言描述的控制信息示意图;图6是IP核所需的控制字信号波形示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本专利技术进一步详细说明。如图1所示,图1是本专利技术提供的面向ASIC型IP核实现软件可编程的方法流程 图,该方法包括步骤101 将IP核的I/O端口与主控制器的地址空间进行映射;步骤102 编写供信号波形生成器使用的HDL代码,解析总线接口接收的数据属 性,并产生具体的信号波形,提供给IP核使用。本专利技术采用了如图2所示的IP核包装(Wrapper)方法或图3所示的 SoC(System-on-Chip)开发方法。首先根据IP核的使用说明书,分析其所需的控制信号或 配置信号、数据信号、状态信号的数量,选定合适的总线标准(例如AMBA总线、SPI总线等) 以满足IP核与外通讯所需带宽要求。为了便于此处说明问题,以及实际中应用,建议在选 定总线类型的同时也选定主控CPU (或MCU)类型(如ARM或SPARC等),对于SoC实现方 式尤其如此。接下来,在CPU中为目标IP核分配适量的地址空间,并将此地址空间内的地 址与IP核的众多控制/配置/状态/数据端口 一一对应起来,这样在CPU看来,ASIC IP 核如同Memory或I/O —样,便于进行软件代码开发。最后,进行实际的硬件电路开发,即图 2(或图3)中的总线接口(Bus Interface)和信号波形生成器(Signal Wave Generator) 两模块。Bus Interface模块实现与CPU的正确通讯,而Signal Wave Generator模块完 成CPU软件语义和ASIC IP核硬件信号之间的翻译工作,例如将图5中的软件代码表示的 控制字信息,转化成图6所示的IP核所需硬件信号波形。因IP核的不同通讯端口的时序图差别较大,故设计Signal Wave Generator模块 成为本方法的重点和难点。以上工作均完成以后,用户就可以很方便地利用C/C++等高级 语言(需要CPU/MCU的编译器Compiler相配合)对ASIC IP核进行控制或配置等操作,甚 至还可以进一步实现DMA (直接存储器存取数据)和操作系统对IP核的控制,大大提高了 IP核使用过程中的开发效率,这在原来的硬件控制方式中是很难做到的。下面以LE0N3处理器为CPU/MCU,以AMBA总线中的AHB协议为Bus,以超大规模可配置专用数据处理器内核为IP核,来详细说明本软件可编程的实现方法。为了使此IP核顺 利接收LE0N3传送过来的控制字或待处理数据,需要在原有的IP模块顶层添加AHB Slaver 接口(Buslnterface)来接收从LE0N3经AHB传送的数据信息,并根据IP核所需的I/O端 口进行地址空间映射,如表1所示,表1是LE0N3与IP核之间的地址映射关系。 表 1然后用Verilog 编写 HDL 代码(Signal Wave Generator),根据 Bus Interface 接 收的地址信息,解析出数据属性,产生相应信号波形进入IP核。此外,为了加速数据处理速 度,还可以在此处设置DMA控制器实现DMA传输方式。利用C代码按照IP核所需的启动方式,先设置控制字、输入滤波系数、输入原始数 据(或启动DMA控制器),然后启动IP核进行数据处理,数据处理好后通过状态寄存器的状 态改变触发LE0N3的中断操作进行数据输出。具体设计时,因不同操作的软硬件Cycle数 据不同,需要在C代码的不同指令间插入必要的延迟指令,以保证软硬件同步。编写好的软件程序,经Gaisler Research公司提供的LE0N3 C代码编译器 (sparc-elf-gcc)进行编译,生成二进制代码,即可进行软硬件联合调试和应用。至此,面向ASIC型IP核而进行的软件可编程设计全部完成。以上所述的具体实施例,对本专利技术的目的、技术方案和有益效果进行了进一步详 细说明,所应理解的是,以上所述仅为本专利技术的具体实施例而已,并不用于限制本专利技术,凡 在本专利技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本专利技术的保 护范围之内。权利要求一种面向ASIC型IP核实现软件可编程的方法,其特征在于,该方法包括步骤101本文档来自技高网...

【技术保护点】
一种面向ASIC型IP核实现软件可编程的方法,其特征在于,该方法包括:步骤101:将IP核的I/O端口与主控制器的地址空间进行映射;步骤102:编写供信号波形生成器使用的HDL代码,解析总线接口接收的数据属性,并产生具体的信号波形,提供给IP核使用。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐欣锋
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:11[中国|北京]

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

1