sk2400

EDK简单使用流程(4)

0
阅读(2816)
今天写怎么向工程中添加EDK中提供的IPcore和MHS文件。
通过向导建工程后,System Assembly View1中是工程中硬件的配置,这些信息都可以在MHS文件中找到。工程中硬件配置用的是EDK提供的IP Core 或 如果板子提供lib也可能包含lib中的IPcore。工程建完后,如果还需要添加IP Core,可以在左边IP Catalog中找到需要的IP Core对其双击或右键Add IP。这只是把IP Core加入工程,还需对其进行总线连接(Bus Interface)、端口连接(Ports)、地址分配(Addresses)。对于不同的IPCore 这三项不是必须的,但是如果进行了总线连接地址就是必须分配的,因为通过总线对IP Core进行操作必须有地址。比如GPIO这三项都有;BRAM Controler有Bus、address没有ports;如果自己写个IPCore(自定义IP Core以后写,我打了好多伏笔啊~~~)不需要与总线通信就没BUs、Address有Ports。连接方法很简单,看看界面就会了,我在这就不写了。
添加IPCore后如果对其使用方式不了解,可以看右键菜单中的PDF和view api documentation(在System Assembly View1中右键才有)。或者直接到EDK安装目录下的hw\XilinxProcessorIPLib\pcores和sw\XilinxProcessorIPLib\drivers中找HDL和C。
MHS(Microprocessor Hardware Specification)中包含嵌入式处理器系统的配置信息、总线构架、外围设备、处理器、连接、地址。MHS所提供的信息在System Assembly View1中都包含了,不过直接编辑MHS文件更方便(个人观点)。语法不是很难,看看已有的MHS就可以了。在第一个BEGIN之前的是外部端口,这些端口可以连接FPGA的引脚,就是说可以在UCF中出现的引脚,一般如果是EDK生成的外部引脚名字都是*_pin。如果要添加外部引脚可以在System Assembly View1->ports 中在对应引脚的下拉菜单中选make external 或者 直接在mhs文件中照着其他PORT的格式写一条语句。外部端口之后是N个BEGIN-END,N等于工程中用的IPCOre的数量。BEGIN-END间的语句是对IPCore进行设置,设置方式可以在IPcore的PDF中找到。psf_rm.pdf 的 chapter 2是对MHS的介绍。