经过练习一:LED流水灯后,进行练习二:按键控制LED灯实验也就相对容易些,有demo加持完成实验很容易,主要还是学习代码编写。
参考资料:
1K2K链接:https://pan.baidu.com/s/18EBJd9TYyTuXH4MlEh2qZA
提取码:tknh
PDS软件Lite版本(免License)链接:https://pan.baidu.com/s/1hY0XZtZcntyVp87nd9HUWA
提取码:6abm
MES2KG.rar----盘古2K开发板demo和教程等。
PDS_2022.2-SP1-Lite.zip----PDS软件Lite版本(免License)主要使用的软件。
主要参考“MES2KG.rar”中MES2KG\demo中教程“MES2KG开发板实验指导.pdf”,本次实验主要参照 3. 键控彩灯,图片不再重复粘贴。另还需参考MES2KG\工具篇中“PDS快速使用手册.docx”。
编写代码
参见“MES2KG.rar”中MES2KG\demo\3_key_led_rgb\source\src
本次需要将多个模块整合成为一个工程,涉及子模块设计、模块例化;子模块的设计主要依据功能定位,确定输入输出,再做具体的
设计。
模块例化方法:
module_name #(
.PARAM ( PARAM_SET ) // PARAM 为例化模块的常量接口;PARAM_SET 为常量赋值内容
) ;
unint_name( // module_name 为例化module 名;unint_name 为例化后单元名称
.port ( signal ) // port 为例化模块中的管脚;signal 为当前模块的信号
);
模块设计:
按键控制模块功能
按键消抖
LED状态模块功能
LED控制模块功能
代码设计:
顶层文件----key_led_rgb_top.v
按键控制模块----key_ctl.v
按键消抖----btn_deb.v
LED控制模块----led_rgb.v
代码注释较少,看起来很吃力。
正式操作
简单版:打开PDS 软件,打开demo中3_key_led_rgb工程,切换PGC2KG-6LPG100为PGC1KG-6LPG100,重新编译、生成位流文件并使用编程器刷写到板子上。体验感不强。
一般操作:参考“MES2KG开发板实验指导.pdf”
P12-13 Step1-3 打开PDS 软件,新建工程 New Project(key_led_rgb),可勾选Create project subdirectory由PDS生成以项目名为名的新文件夹,也可取消勾选直接指定项目文件夹。
P14 Step4 选择RTL project;Step5 在Add Design Source Files页面可直接点击Add Files添加.v文件。
P15 Step6-7 Next即可。
P16 Step8 按开发板选择,盘古1K对应器件系列 Family Compact、型号 Device PGC1KG、封装 Package LPG100、速率 Speed Grade 默认的6即可、综合工具 Synthesis ADS;Step9 Finish
P17-22 新建文件夹和.v文件并编写代码,如已导入.v可直接跳过。
P23-24 编译 等待updting结束后,双击Compile等待绿色圆圈即可;工程约束 点击Tools 选择User Constraint Editor(Timing and Logic),选择Pre Synthesize UCE。
P25 时钟约束 选择Create Clock 添加基准时钟 clock name clk_40M、Source objects [get_ports {clk}]、Period 25ns,flat自动变为12.5,点击OK。
P26 物理约束 选择Device,选择I/O,按图设置LOC,点击保存。
生成位流文件 双击Generate Bitstream等待绿色圆圈即可。
询问客服或关注小眼睛FPGA视频工作号获取盘古1K2K开发板 烧录器下载器 连接教程或如图连接烧录器、盘古1K开发板和电脑。
注意连接线的端口和走向。盘古1K要上电,否则识别不到。
转文件“PDS 快速使用手册.docx”中 2.8下载位流文件 部分,点击Tools选择Configuration,在右侧区域单击右键,选择Scan Device,待开发板就绪后在弹出选择位流文件key_led_rgb_top.sbit.,确定。在pango蓝色方块右键单击,单击Program,待进度条走完后烧录完成,LD1-LD4实现8种同色彩灯效果,默认红灯,KEY1作为控制输入,按下一次换一种显示效果。实验完成。