ISE 14.7开发环境下的FPGA点灯实验完整教程
创作时间:
作者:
@小白创作中心
ISE 14.7开发环境下的FPGA点灯实验完整教程
引用
CSDN
1.
https://blog.csdn.net/Roy_tly/article/details/120806404
本文将介绍如何使用ISE 14.7开发环境完成一个简单的FPGA点灯实验。以Xilinx Spartan-6系列的黑金开发板为例,通过驱动LED灯的亮灭,帮助读者理解FPGA开发的基本流程。
1. 明确驱动对象
LED灯是最基本的输出设备,其工作原理简单:高电平(1)点亮,低电平(0)熄灭。
2. 明确驱动管脚
驱动逻辑:高电平(1)点亮,低电平(0)熄灭。
3. 驱动逻辑
以下是具体的VHDL代码实现:
`timescale 1ns / 1ps
module led_driver
(
input sys_clk, //50Mhz , 20ns
output led0,
output led1,
output led2,
output led3
);
reg [31:0] cnt = 'd0;
reg [4:0] cnt_1s = 'd0;
always@(posedge sys_clk)
begin
if(cnt < 32'd50000000)
cnt <= cnt + 1'b1;
else
begin
cnt <= 32'd0;
cnt_1s <= cnt_1s + 1'd1;
end
end
assign led0 = cnt_1s[0];
assign led1 = cnt_1s[1];
assign led2 = cnt_1s[2];
assign led3 = cnt_1s[3];
endmodule
4. 新建工程
工程设置
- 工程命名及路径
- 芯片选型
- 工程设置预览
添加文件
设置源文件的文件类型、名称、路径
预览设置
设置约束文件的文件类型、名称、路径
端口约束
一般端口定义:
NET “端口名称” LOC = 引脚编号 | IOSTANDARD = “电压” ;
时钟端口定义:
NET "端口名称" LOC = 引脚编号 | TNM_NET = sys_clk_pin;
具体约束示例:
NET "sys_clk" LOC = T8 | TNM_NET = sys_clk_pin;
NET led0 LOC = P4 | IOSTANDARD = "LVCMOS33";
NET led1 LOC = N5 | IOSTANDARD = "LVCMOS33";
NET led2 LOC = P5 | IOSTANDARD = "LVCMOS33";
NET led3 LOC = M6 | IOSTANDARD = "LVCMOS33";
生成器件可识别文件
- 进行“综合”(Synthesize)操作
- 进行“实现”(Implement)操作
- 进行“生成编译文件”(Generate)操作
编译完成将产生bit文件。
5. 加载程序到器件
打开加载界面iMPACT
- 初始化识别JTAG
- 添加配置文件,此处先取消
- 烧录确认,此处先取消
加载烧录文件
- 选择.bit文件
- 弹窗确认是否使用存储器烧录,此处点击NO
- 对芯片下载bit程序
- 点击OK确认
下载完成后的标识/现象
此时可以查看板载LED点亮效果。
本文原文来自CSDN,作者Roy_tly。
热门推荐
蜡烛是什么材料做的
几丁质的作用与功效
主动脉瓣狭窄
X型腿矫正5个有效方法
C运行效率与C语言相比如何
当智能体步入教育领域
竹构建筑深度分析与未来展望
网站设计中的自定义字体选择:找到适合品牌的独特声音
新能源车保养防冻液和电池防冻液时需要注意什么?
萨达姆被处决后,伊拉克人失去了什么?
脂肪瘤不开刀如何消除
月薪高达3万 一名有竞争力的无人机“飞手”是怎么练成的?
家居清洁产品基础知识
人工智能主题基金五年业绩PK:万家、南方基金收益率领跑
爱社交的人大脑更抗老!科学家首次发现,社交活跃老年人认知障碍发生或更晚
事件响应计划:组织应对网络安全事件的重要工具
孩子晚睡怎麼辦?7個讓小孩早點睡的方法!
减肥为什么要多喝水?几个正确喝水方法,学习一下
加拿大3C数码产业竞争对手分析及存在的问题
OpenWrt如何手动更新固件
龟背竹的光照喜好与养护技巧(掌握光照要领)
年假休当年还是去年怎么判断
物业如何提高服务水平?提升过程中的难点有哪些?
青菜种植的最佳肥料选择(探究青菜的肥料种类及其作用)
浅谈洗衣液里有哪些成分和功效
刚出生的小猫护理指南:饮食、健康和洗澡时机
如何测试电脑软件兼容性
QQ聊天记录在民事案件中的使用方法
手部流血怎么办?六步止血法+注意事项
如何训练幼犬不乱叫(从宠物的角度出发,15个方法教您训练幼犬)