集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 10813|回复: 27

在XPS中定制用户设备的IP

[复制链接]
小舍YZ 发表于 2017-7-10 15:50:48 | 显示全部楼层 |阅读模式
在XPS中定制用户设备的IP

上文提到的嵌入式系统的开发基本是由XPS自动完成的,本节介绍如何在XPS中添加用户定义设备的操作。用户只有掌握该操作,才能推广XPS的应用领域。虽然外部设备种类繁多、总线接口也不尽相同,XPS仍给出了相应的向导来简化此过程。首先,定制自定义设备的IP Core,然后再通过上节的方法将其加入工程。本节介绍如何使用XPS定制IP,并添加到XPS工程中。

1.用户定制IP的要求

前面已提到在系统组件面板中的总线接口给出了总线、处理器和IP间的互连关系。注意用户创建的任何IP都必须适应已生成的系统,为满足这一条件,必须:

1)确定IP所需要的接口

对于用户定制的外围设备,必须指出它们所连接的总线,如:
处理器本地总线PLB或片上外围总线OPB。PLB在处理器和高性能的外围设备间提供了高速接口;OPB允许处理器接到低速、低性能的系统资源。

2)实现和验证定制的功能

(1)IP必须导入到EDK。用户的外围设备要拷贝到EDK中正确的目录下,同时必须创建平台规范格式(Platform Specification Format,PSF)接口文件(MPD和PAO),这样其它EDK工具才可以识别出用户的外围设备。

(2)必须将外围设备加入到在XPS创建的处理器系统中。

2.IP接口介绍

IP接口(IP interface,IPIF)是个已经被验证、最优化的并且参数可调的接口,同时它还提供了一系列的简单总线协议,即IP互连(IPIC)。用户利用IPIF模块,使其参数匹配自己的需求,这就可以极大地减少设计和测试的工作量。图9-48给出总线、IPIF、IPIC和用户逻辑之间的关系。

图9-48 用户定制外围设备的IPIF模块

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:51:47 | 显示全部楼层
EDK利用IPIF库在不同的处理器外围设备间执行相同的功能。在总线接口和IPIF服务面板上,CIP向导要求用户定义目标总线以及IP所需要的服务。CIP向导创建两个模板文件以协作IP连接。假设顶层文件名为test_ip;而用户定制逻辑连接到第二个文件user_logic.vhd。用户可打开工程目录下的pcores文件夹,查看向导所创建的有关目录结构和文件,就会发现向导创建了两个VHDL模板文件:test_ip.vhd和user_logic.vhd。后者通过在test_ip.vhd里配置的IPIF核建立连接到OPB总线上。User_logic.vhd文件相当于用户定制功能块,而test_ip.vhd文件相当于IPIF块。对IPIF,在例9-6中会有更详细的说明。

3.利用XPS完成IP定制

XPS提供的创建和导入外围设备向导(Create and Import Peripheral,CIP),可以协作用户完成IP的创建过程。此向导可以为用户建立多种模版用于不同的逻辑;除了创建HDL模板,CIP向导还创建外围核(pcore)验证工程用于总线功能模型(Bus Functional Model,BFM)验证。模板和BFM工程的创建有利于IP的开发,并保证所创建IP和系统的兼容性。

使用CIP来简化用户定制外围设备的创建过程如下:

1)确定设备类别

自定义设备必须和CoreConnect兼容。CIP利用预先定义IPIF库,可以创建和CoreConnect兼容的四种类型外围设备:OPB从属外围设备、OPB主从结合的外围设备、PLB从属外围设备和PLB主从结合的外围设备。

2)选择菜单Hardware中的Create or Import Peripheral命令,建立新的外围设备或者是导入已存在的外围设备。

下面通过一个实例详细给出创建用户自定义外围设备的详细步骤。

例9-6 在XPS中定制8比特的LED的驱动外设。

(1)选择菜单Hardware的“Create or Import Peripherall”命令,进入创建与输入外设(CIP)向导,如图9-49所示。从中可以看出,创建定制IP Core有三个步骤:创建模版、实现验证以及导入XPS。在“Select Flow”选择“Create templates for a new peripheral”选项,单击“Next”按钮进入下一页。

图9-49 XPS CIP向导界面

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:52:29 | 显示全部楼层
(2)选择定制外设的存放位置。选择“To an EDK user repository”,可将其存放到EDK安装路径外的任何目录;选择“To an XPS project”,将其添加到XPS工程中。默认选择为存放到当前工程。本例采用默认值,如图9-50所示,单击“Next”按钮进入下一页。

(3)定义定制IP的名字和版本。本例输入my_led8以及版本号为1.00.a,如图9-51所示。这里IP名称需要小写,单击“Next”按钮进入下一页。需要注意的是:良好的版本管理对于IP Core设计是至关重要的。

图9-50 定制IP存放目录示意图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:53:10 | 显示全部楼层
图9-51 定制IP的名称和版本

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:54:22 | 显示全部楼层
(4)选择定制IP所连接的总线。可选项有OPB、PLB以及FSL,需要根据设备的速度以及设计人员的熟悉程度决定,因为IP的功能就是实现相应总线时序到用户设备时序的转化。本例选择OPB总线,如图9-52所示。单击“Next”按钮进入下一页。

图9-52 选择IP的总线连接方式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:54:59 | 显示全部楼层
(5)选择IPIF服务。在IPIF中,可选择所有的基本服务,以及高级服务中的FIFO;IPIF为用户提供一些基本的接口和服务,如从设备连接、地址译码等,还有一些可选择的服务,如中断、DAM等。在FIFO服务和中断服务中,使用默认值;此步骤需要设定由用户逻辑产生的中断的数量,以及中断的捕捉模式。本例选用默认值,即ft245bm的定制IP Core没有FIFO、DMA以及中断信号,如图9-53所示。点击“Next”按钮进入下一页。

图9-53 IPIF服务模式选择

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:55:50 | 显示全部楼层
下面对可用的IPIF接口机制进行简单说明:
① 基本的从设备支持和服务

S/W reset and MIR:该选项会生成RST和MIR这两个寄存器,其中RST为只写寄存器,软件通过写RST寄存器实现对用户逻辑(User Logic)的复位;MIR为只读寄存器,软件通过读MIR寄存器获取外设信息。
User Logic Interrupt Support:该选项可支持用户逻辑通过总线发出中断请求。
User Logic S/W Register Support:该选项可使用户逻辑具备软件可寻址、访问的寄存器。
以上三项对于每种外设都是默认选中的,是任何外设应该所具备的功能,建议用户采用默认值。

② 高级的从设备支持和服务

高级的从设备支持和服务一般应用于需要数据缓冲以及多存储器、地址访问的应用场合,可有效提高总线对外设的数据传输效率,特别适合于有连续、高速数据交互的应用场合。
Burst transaction support:该选项可使能突发传送和缓存线支持。其中突发传送是一种高速的外设访问方式,可完成用户逻辑和处理器之间的高速数据交互;缓存线使用片外的存储器(支持各类SRAM以及DRAM)作为处理器核缓存的高速通路。需要注意的是:缓存线只能外挂到PLB总线上。
FIFO:该选项可使能IPIF内建的FIFO通路,以实现高速的数据访问。
User LogicAddress Range Support:该选项可使用户逻辑具备逻辑地址范围的支持,为每段用户地址生成一个使能信号。

③ 主设备的支持和服务

主设备的支持,能够带给用户逻辑更大的灵活性和实用性。
DMA:该选项将允许用户逻辑和总线以DMA的方式来交互数据,能提高CPU的工作效率。
User Logic Master Support:该选项可使用户逻辑具备主设备访问的功能。

(6)选择中断支持

IPIF提供了中断响应服务,并可根据一定的优先级对各个中断信号进行优先级排序。因此,需要为每个用户外设指定中断的个数和等级,以便CPU能更好地调度。这里采用默认值即可,如图9-54所示,单击“Next”按键,进入下一页。

图9-54 用户逻辑的中断参数设置界面

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:56:39 | 显示全部楼层
(7)软件寄存器设置

软件寄存器个数、位宽选择界面如图9-55所示,采用默认值:1个寄存器、位宽为8比特;寄存器写模式设置为“Enable posted write behavior”,点击“Next”按键进入下一页。

图9-55 软件寄存器设置界面

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:57:20 | 显示全部楼层
寄存器的具有三种写模式,具体包括:

Enable posted write behavior:
Disable posted write behavior for normal acknowledged write behavior:
Allow dynamic posted/acknowledged write behavior controlled by user logic:

(8)选择寄存器和IP互连(IPIC)

在这个窗口,可选择IPIF模块和用户逻辑之间的接口信号,应用这些连接可从硬件外设的寄存器输入/输出数据。XPS会默认选择一些信号线,是IPIC所必须的,不能取消,其余的信号线则可以根据需要添加。当选中某一信号时,会在窗口右边显示相关的功能说明,帮助用户选择。本例选用默认的接口信号,如图9-56所示,点击“Next”按键进入下一页。

图9-56 IPIC的选择界面

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-10 15:57:59 | 显示全部楼层
(9)选择定制IP的仿真支持

在外围设备仿真支持中,选择外围设备仿真工具可以产生一个总线功能模型文件(BFM),借助于ModelSim,可提供将设备连接到总线后的单元以及系统级仿真和验证。此外,BFM仿真需要安装相关的仿真工具,点击该窗口的超链接可直接访问相关网页。本例选择不生成BFM文件,如图9-57所示,单击“Next”按键进入下一页,有兴趣的读者可自行完成实验。

图9-57 外设代码仿真支持的选择界面

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-4 02:46 , Processed in 0.081099 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表