定制avalon外设参考

定制avalon外设参考

ID:14803893

大小:946.50 KB

页数:18页

时间:2018-07-30

定制avalon外设参考_第1页
定制avalon外设参考_第2页
定制avalon外设参考_第3页
定制avalon外设参考_第4页
定制avalon外设参考_第5页
资源描述:

《定制avalon外设参考》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本节讲述开发一个定制的SOPCBuilder元件的设计流程,从创建定制外设、集成外设到系统中,最后将其下载到硬件。讲述定制外设的开发流程之后,以Altera公司提供的一个设计实例作为练习。该实例展示了开发一个只具有Avalon从接口的外设。用户使用Altera提供的HDL设计,将其打包到成一个SOPCBuilder元件,然后在系统中例化它。然后将工程编译下载到开发板上。最后介绍怎样共享用户定制外设,这样用户设计的外设可以为其它的系统和设计者使用。     SOPCBuilder提供元件编辑器使用户可以创建和

2、编辑自己的SOPCBuilder元件。·典型地,一个元件有下面的部分构成:·硬件文件:描述元件硬件的HDL模块。·软件文件:定义元件寄存器映射的C语言的头文件,元件的驱动程序。元件描述文件(class.ptf):定义元件的结构,提供给SOPCBuilder将该元件集成到系统中必要的信息。元件编辑器根据用户提供的软件和硬件文件以及用户在元件编辑器的图形用户界面指定的参数自动产生这个文件。     在创建完描述元件的硬件和软件文件之后,用户使用元件编辑器将这些文件打包成一个SOPCBuilder元件。如果用户更

3、新了硬件或软件文件,用户还可以使用元件编辑器对这个元件进行再次的编辑。8.2.1元件开发流程     本节介绍元件开发流程,包括硬件和软件两方面,这里介绍只有一个Avalon从接口的元件设计流程,而其设计流程的步骤可以很容易地推广到具有主端口的元件或者多个主端口和从端口的元件。从外设的典型的设计顺序包括如下的步骤:1.指定硬件功能。2.如果微处理器要控制该元件,指定访问和控制该硬件的应用程序接口(API)。3.根据硬件和软件的要求,定义一个Avalon接口,该接口要提供:     a.正确的控制机制。   

4、  b.足够的吞吐量性能。4.采用Verilog或者VHDL编写硬件设计。.5.单独测试元件的硬件,验证操作的正确性。6.编写C头文件,为软件定义硬件层次的寄存器映射。7.使用元件编辑器将硬件和软件文件打包成一个元件。8.例化元件为一个SOPCBuilder系统的模块。9.使用NiosII处理器来测试对元件的寄存器级的访问,用户可以执行硬件的测试,或者是进行HDL仿真。10.如果微处理器要控制该元件,编写元件的驱动程序。11.根据元件的在系统的行为,反复改进元件的设计:     a.硬件的改进和调整。   

5、  b.软件的改进和调整。     c.使用元件编辑器更新元件。12.编译完整的含有一个或多个该元件的SOPCBuilder系统。13.执行系统级的验证,如果必要进行进一步的反复改进。14.完成元件的设计,发布该元件,其他设计者可以重用该元件。主外设的设计的过程与之类似,只是软件开发方面有所差异。8.2.2硬件设计     同任何的逻辑设计过程一样,SOPCBuilder元件的硬件开发在需求分析阶段之后开始。当用户根据需求说明编写和验证HDL逻辑时,其过程是一个迭代的过程。典型元件的结构包括下面的功能模块:

6、·任务逻辑(TaskLogic)——任务逻辑实现元件基本的功能。任务逻辑是和设计相关的。·寄存器文件(RegisterFile)——寄存器文件为任务逻辑内部的信号同外部通信提供了一条通路,反之亦然。寄存器文件映射内部的节点为可寻址的地址偏移量,Avalon接口可对其进行读写访问。·Avalon接口——Avalon接口提供标准的寄存器文件的Avalon前端。接口可以使用任意的Avalon信号类型,以访问寄存器文件和支持任务逻辑所需要的传输。下面的因素影响Avalon接口:       要传输的数据宽度是多少?

7、       数据传输需要的吞吐量的要求是多少?       该接口主要是为了控制还是数据?即传输是零星的,还是连续的突发传输?       硬件相对系统中其它的元件是快速还是低速元件?图8-16为一个具有一个Avalon从端口的典型元件的原理图。8.2.3软件设计     如果用户想要微处理器来控制用户的元件,用户则必须提供软件文件,软件文件定义了该元件的软件视图。在最小化的软件设计中,用户必须定义每个从端口的寄存器映射,以便处理器可以访问。元件编辑器允许用户将C语言的头文件和元件打包在一起以定义硬件的软

8、件视图。典型情况下,头文件声明读和写元件寄存器的宏函数,寄存器的地址相对于分配给元件的符号化的基地址。下面的例子是从Altera提供的用于NiosII处理器的UART元件的寄存器映射摘录的一部分。例:元件的寄存器映射#include#defineIOADDR_ALTERA_AVALON_TIMER_STATUS(base)__IO_CALC_ADDRESS_NATIVE(base,0)#defineI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。