Xilinx FPGA入门连载12:PWM蜂鸣器驱动之引脚分配
特权同学,版权所有
配套例程和更多资料下载链接:
http://pan.baidu.com/s/1jGjAhEm
复制sp6ex1整个文件夹,将其更名为sp6ex2。然后我们打开“…\sp6ex2\source_code”文件夹下的sp6.v源代码文件。
删除sp6.v文件原有的代码,将上一个lesson的源码整个复制进去。如图所示。
接着使用ISE打开刚刚移植好的sp6ex2文件夹下的工程。
2 PlanAead引脚分配这个例程的顶层源码里有3个接口,即:
input ext_clk_25m, //外部输入25MHz时钟信号
input ext_rst_n, //外部输入复位信号,低电平有效
output reg beep //蜂鸣器控制信号,1--响,0--不响
这3个信号都是FPGA引脚上定义和外部设备连接的信号,因此我们需要将这些信号和FPGA的引脚进行映射。
如图所示,点击ISE菜单上的“Tools à PlanAhead à I/O Pin Planning(PlanAhead) – Pre-Synthesis…”选项。
若弹出如下菜单,点击“Yes”继续。
如图所示,在PlanAead界面最下面出现了“I/O Ports”列表中,有我们的3个信号接口,这里“Site”一列可以输入它们对应FPGA的引脚;“I/O Std”一列可以输入I/O电平标准;对于输出信号,“Drive Strength”一列还可以设置输出驱动电流强度。
查看SF-SP6开发板的原理图,如图所示,这里BEEP对应FPGA引脚号是27,那么前面我们就在Site列输入P27;RST_N和CLK_25M分别为24和23,则输入P24和P23。
完成分配后,别忘记保存后退出PlanAead界面。
3 脚本直接引脚分配除了使用PlanAead这种图形界面方式分配引脚,也可以直接使用脚本语法分配引脚。下面先新建这个脚本文件,即ucf文件,我们前面在PlanAead界面分配的引脚信息也会存储在这个ucf文件中。
在“Design àImplementation à Hierarchy”的任意空白处单击右键,选择“NewSource…”,如图所示。
如图所示,选择“Implementation Contraints File”,输入文件名和路径,然后点击“Next”。
接着弹出报告,点击“Finish”完成创建。
如图所示,此时的sp6.v下面多了一个sp6.ucf文件,选中它,接着在Processes下面双击“EditConstraints(Text)”。
ISE会调用Notepad++打开sp6.ucf文件,如图所示,这里的脚本和我们前面使用PlanAhead进行的引脚分配约束是一样的。
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 基于PLB总线的H.264整数变换量化软核的设计(03-20)
- 迄今为止最牛的ASIC验证平台(05-22)
- 验证FPGA设计:模拟,仿真,还是碰运气?(08-04)