经过练习一、练习二后,进行练习三:动态数码管显示实验也相对容易些,还是基于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 ”,本次实验主要参照 4. 数码管动态显示,图片不再重复粘贴。另还需参考MES2KG\工具篇中“ PDS快速使用手册.docx ”。
编写代码
参见“MES2KG.rar”中MES2KG\demo\4_top_seq\source\Desktop
本次同样需要将多个模块整合成为一个工程,涉及子模块设计、模块例化;子模块的设计主要依据功能定位,确定输入输出,再做具体的设计。
盘古1K开发板数码管底板的数码管使用 共阳数码管 ,当某一字段发光二极管的阴极为 低电平 (0)时,相应字段就 点亮 。段选 8 根 led 灯分别为a,b,c,d,e,f,g,dp;控制某段数码管点亮。位选 4 组 8 个段选 LED,分别为seg1,seg2,seg3,seg4;控制第几块数码管点亮。
位选择映射
2'd0:dig = 4'b0001;
2'd1:dig = 4'b0010;
2'd2:dig = 4'b0100;
2'd3:dig = 4'b1000;
显示0-9
4'd0:smg = 8'b1000_0001;//"0"
4'd1:smg = 8'b1100_1111;//"1"
4'd2:smg = 8'b1001_0010;//"2"
4'd3:smg = 8'b1000_0110;//"3"
4'd4:smg = 8'b1100_1100;//"4"
4'd5:smg = 8'b1010_0100;//"5"
4'd6:smg = 8'b1010_0000;//"6"
4'd7:smg = 8'b1000_1111;//"7"
4'd8:smg = 8'b1000_0000;//"8"
4'd9:smg = 8'b1000_0100;//"9"
代码设计:
顶层文件----top_seq.v
按键消抖模块----btn_deb.v
按键计数模块----key_cnt.v
时钟分频模块----div_clk.v
数码管显示模块----seq_control.v
按键消抖和按键计数均可参考按键流水灯实验。
代码注释也很少,看起来很吃力。
默认按键K1-K4分别控制4个数码管( 从右到左 ),可更改top_seq.v中 数码管显示 部分代码调整为从左到右。
正式操作
简单版:打开PDS 软件,打开demo/4_top_seq/top_seq.pds工程,切换PGC2KG-6LPG100为 PGC1KG-6LPG100 ,重新编译、生成位流文件并使用编程器刷写到板子上。
一般操作:参考MES2KG开发板实验指导.pdf
P12-13 Step1-3 打开PDS 软件,新建工程 New Project(top_seq),可勾选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 ,待开发板就绪后在弹出选择位流文件top_seq.sbit.,确定。在pango蓝色方块右键单击,单击 Program ,待进度条走完后烧录完成,实现按键K1-K4分别控制4个数码管( 从左到右 ),按下一次数字加 1,从0到9。实验完成。