玩转Zynq连载23——用户自定义IP核的创建与封装
更多资料共享
腾讯微云链接:https://share.weiyun.com/5s6bA0s
百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取码:ld9c
腾讯微云链接:https://share.weiyun.com/5s6bA0s
百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取码:ld9c
1概述
本节以zstar_ex04文件夹下的led_controller_ip工程为例,演示如何创建一个简单的LED闪烁控制模块的IP核。
创建一个用户自定义IP核,只需要以下3个步骤即可。
2 创建IP核
首先我们在文件夹…/project/zstar_ex04/led_controller_ip文件夹下创建一个新的工程,增加一个名为led_controller.v的verilog源码文件到这个工程中。源码如下。
module led_controller(
input clk, //时钟信号
input rst_n, //复位信号,低电平有效
output sled //LED指示灯接口
);
parameter CLK_FREQUENCY = 25000; //clk的时钟频率,KHz
parameter LED_FLASH_FREQUENCY = 1; //LED输出的闪烁频率,Hz
define MAX_CNT (((CLK_FREQUENCY/LED_FLASH_FREQUENCY)*1000)-1) //cnt分频计数最大值
define MAX_CNT_DIV2 (`MAX_CNT/2-1) //cnt分频计数最大值的一半
//-------------------------------------
reg[31:0] cnt; //计数器
//cnt计数器进行循环计数
always @ (posedgeclk or negedgerst_n)