欢迎来到天天文库
浏览记录
ID:27556614
大小:424.26 KB
页数:13页
时间:2018-12-04
《ip核创建流程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Avalon总线IP核的创建1设计概述SOPCBuilder提供了一个组件编辑器,用来创建和编辑自己的SOPCBuilder组件即IP核。一个典型的1P核组件由以K几个部分组成:•硬件文件——描述IP核硬件HDL模块。•软件文件——一个定义IP核寄存器映像的C语言头文件,软件控制IP核所需的驱动程序。•IP核描述文件(class.ptf)——定义IP核的结构,为SOPCBuilder提供将IP核集成到系统的信息,IP编辑器自动地创建这个文件,它是基于所提供的硬件、软件及在编辑器GUI中指明的参数而创建的。描述IP核的硬件和软件文
2、件创建之后,使用IP核编辑器将这些文件封装成一个SOPCBuilder元件,以后也可以利用编辑器对定制的IP核进行修改。2IP核开发流程2.1典型的设计步骤这里以包含从接口的IP核的开发步骤为例介绍典型的IP核设计步骤,对于含有主端门的IP核设计过程与此类似。•指明硬件功能和控制硬件的AH。•基于软件和硬件的需求,定义Avalon接口,提供相应的控制机理和适当的吞吐量性能。•用Verilog或荠VHDL语言描述硬件的API,并完成验证测试工作。•编写定义硬件级寄存器映像的C头文件。•使用编译器封装硬件和软件文件为•一个组件,并添加到
3、SOPCBuilder系统模块。•根据功能需求,反复修改软硬件方面的设计,对最终定制好的IP核进行编译和系统级认证。2.2硬件设计IP核的功能确定后,开始其硬件开发,编写HDL代码是一个反复的过程。典型的IP核结构由以下功能块组成.••TaskLogic——实现组件的基本功能,它取决于设计•RegisterFile一一为从任务逻辑内部到外部的通信信号提供路径。寄存器文件将内部节点映射到可寻址的偏移地址,Avalon接口可以对它进行读写。•AvalonInterface为寄存器文件捉供标准的Avalon前端,接口可以使用传送数据的宽度
4、:数据传送对吞吐率的需求;数据传送是间歇性的还是突发性的;与系统屮其他组件比较,硬件相对快些还是慢些。2.3软件设计如果希望用处理器控制组件,则必须提供相应的软件。至少必须对每个处理器要访问的从接口定义寄存器的映像,可在编辑器中队IP核定义一个C头文件,这个头文件定义了硬件的软件窗口。典型地,头文件相对于被指定到IP核的一个符号基地址,对读写每个IP核寄存器的宏进行声明。软件驱动程序将IP核的硬件细节进行抽象,以使软件能在上层访问IP核,驱动函数为软件提供访问硬件的API。软件需求取决于IP核的需要。最常用的驱动程序是硬件初始化、读
5、数据和写数据。驱动程序与H标处理器有关。利用IP核编辑器,可以很容易地为NiosII处理器开发工具使用HAK软件驱动程序进行封装。要提供其他处理器的驱动程序,必须适应目标处理器开发工具的需要。3基于7段数码管的IP核设计本节通过一个7段数码管的IP核设计为例来说明创建一个IP核的大致步骤,具体流程如卜:•了解设计实例的组成•将设计文件封装成SOPCBuilder组件即IP核•将IP核添加到系统。•编译硬件设计下载到目标板。•用NiosII软件对硬件进行验证。3.1IP核硬件部分的创建首先,我们要构建一个符合Avalon-MMSlav
6、e接U规范的可以实现7段数码管功能的时序逻辑,在这里,我们利用Verilog语言来编写。在程序中会涉及到Avalon信号,相关信号如下所示。HDL中的信号Avalon信号类型宽度方向描述elkelk1input同步时钟信号reset_nreset一n1input复位信号,低电平有效chipselectchipselect1input片选信号addressaddress2input2位地址,译码后确定寄存器oHsetwritewrite1input写使能信号writedatawritedata32input32位写数据值readrea
7、d1input读时能信号byteenablebyteenable1input字节使能信号readdatareaddata32output32位读数据值此外,程序还包含两个输出信号SEG和COM,它们不属于Avalon信号。数码管IP核软件主要含三个模块:1主模块,实现基木的功能。2寄存器模块,为从任务逻辑内部到外部的通信信号提供路径。3Avalon接口模块,使用任何Avalon信号类型,支持任务逻辑所需传送的类型。用Verilog语言编写数码管IP核,使得硬件描述语言包含上述三个模块,然后保存为seg.v文件,放在需要用7段数码管I
8、P核的工程0录下。3.2IP核软件部分的创建接下来,我们就通过SOPCBuilder,来建立数码管IP核模块了。首先,打开Quartus软件,进入SOPCBuilder。进入后,点击•下图红圈处点击后,如下图所示,点击Next,0点击
此文档下载收益归作者所有