网站搜索:
第3节 在用户IP中添加自己的功能代码实现PWM功能
文章出处:与非网
更新于2008-05-22 09:36:54

PWM

在用户IP中添加自己的功能代码实现PWM功能

Step1在项目的根目录下,寻找用户IP文件夹内的.vhd源文件,如下图5.3.1所示。



图5.3.1 源文件目录

Step2打开相应的.vhd源文件,并编辑修改。本例程做出如下修改:

(1)先打开pwm.vhd文件,搜索-user,找到下图5.3.2所示的--USER ports added here 的插入处。书写pwm_port: out std_logic; 语句如图5.3.2中所示。



图5.3.2 修改pwm.vhd的端口

(2)再次搜索-user,找到下图5.3.3所示的--USER ports mapped here插入处。插入语句pwm_port=>pwm_port, 如下图5.3.3中所示。



图 5.3.3 修改pwm.vhd

(3)保存后关闭此文件,打开user_logic.vhd文件。先按照前述的方法搜索-user,在下图5.3.4所示出插入语句pwm_port : out std_logic; 如图5.3.4中所示。然后搜索slv_reg2,找到下图5.3.5所示的slv_reg2信号赋值处,使用符号--将该语句屏蔽,具体如下图5.3.5所示。



图5.3.4 修改user_logic.vhd



图5.3.5 屏蔽语句

(4)搜索“0010”,找到下图所示的when“0010”=>分支,使用符号--将分支的所有语句全部屏蔽,并添加null; 语句,具体如下图所示。



图5.3.6 屏蔽0010分支,添加null

(5)跳至文件结尾处,先后添加如下图5.3.7和图5.3.8所示的语句内容。



图5.3.7 添加如图的语句内容



图5.3.8 添加如图的语句内容

(6)保存后关闭该文件。

Step3重新加载文件如工程

(1)再次使用Hardware → Create or Import Peripheral, 并单击NEXT,打开如下图5.3.9所示的窗口

选择Import existing peripheral项,单击NEXT



图5.3.9

(2)再次输入名称pwm,并且在版本选择(Major Revision)处设置为1,单击NEXT。此时会跳出下图5.3.10所示对话框,选择YES



图5.3.10



图5.3.11

(3)出现下图5.3.12所示的窗口时,选中第一项HDL source files,单击NEXT



图5.3.12

(4)出现下图5.3.13所示的窗口时,选中第二项Use existing Peripheral Analysis Order files(*pao), Browse到相应的目录下,选中.pao文件,单击打开,然后单击NEXT



图5.3.13

(5)出现下图5.3.14所示的窗口时,单击NEXT



图5.3.14

(6)出现下图5.3.15所示的窗口时,选中左侧第二项PLBV46 Slave(SPLB)选项,然后单击NEXT



图5.3.15

(7)一路单击NEXT,直到出现下图5.3.16所示的窗口时,将已经选择的Select and configure interrupts取消选择,单击NEXT。



图5.3.16

(8) 当看到出现下图5.3.17所示的成功提示窗口时,单击FINISH。



图5.3.17

Step4加载用户IP

(1)如下图5.3.18所示,在IP Catalog 选项中展开Project Local pcores, 双击PWM添加用户IP,然后在右侧的窗口中选择Bus Interfaces选项,展开pwm_0,并将其连接到PLB总线。



图5.3.18

(2)在Ports选项内连接用户IP到外部端口,具体方法详见上一章用户IP使用方法。

(3)在Address选项中单击Generate address选项,产生地址。

5.产生网表和Bit文件

(1)执行Hardware →Generate Netlist产生了电路网表;

(2)执行Hardware → Generate Bitstream生成bit文件。

6.编辑.ucf文件,完成设计管脚分配。

在右侧Project Files的展开项中双击UCF File,可以打开如下图所示的窗口,并编辑管脚位置等信息。



图5.3.19

 

<<上一节    下一节>>



关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com