小白一个,代码主要靠文心一言。
之前每日一练获得一块盘古1K的试用权。
板号MES2KG_LPG100_V1.0,盘古芯片PGC1KG,即盘古1K开发板。注意MES2KG不代表板子为盘古1K开发板,1K还是2K要看芯片型号。
先找使用相关教程,下载相关软件和教程文档。
以“盘古1K”为关键词进行检索
[文章] # 紫光MES1/2KG 开发板——硬件使用说明
[文章] # 紫光同创PGC1KG-LPG100 / PGC2KG-LPG100开发套件|盘古1K/2K开发套件
[文章] # 紫光同创PGC1KG-LPG100 / PGC2KG-LPG100开发套件|盘古1K/2K开发套件
[经验]# 紫光同创PGC1KG-LPG100 / PGC2KG-LPG100开发套件|盘古1K/2K开发套件
4篇大差不差,主要介绍了硬件参数等细节,但不提及使用方法。
[文章] # 【揭秘】紫光盘古系列:盘古1K2K开发板
简短介绍,但提供了淘宝店铺:https://shop372525434.taobao.com
得,去淘宝看看吧。
商品详情页有相关软件和文档的百度云盘分享链接,可惜是图片,得自己输入,https://pan.baidu.com/s/1A6GKxsdqE0cHLybrKpJHpA
提取码:7djc,官方有考虑改成文字吗,很不方便?
此时客服发来了分享:
1K2K链接:https://pan.baidu.com/s/18EBJd9TYyTuXH4MlEh2qZA
提取码:tknh
PDS软件Lite版本(免License)链接:https://pan.baidu.com/s/1hY0XZtZcntyVp87nd9HUWA
提取码:6abm
很好,1K2K链接与淘宝相同,剩下的就是没有会员的无尽等待了……
建议增加其他云盘的分享。
相关软件和文档主要有:
小眼睛FPGA--license申请模板.xlsx----PDS的使用需要许可证,得注册紫光同创账号并申请license,均需工作单位、工作邮箱等详细信息,不太容易通过。 申请注册无果,放弃。紫光同创说是开源,但限定了可下载人员范围,如开。
开发工具使用文档.rar----打包好的使用文档合集,唯一的缺点是文档名是英文,没翻译成中文。
PDS_2022.1-win64.zip----PDS安装包,非最新版,建议官网下载最新版,但需紫光同创账号,没有的话也不用下载,改用PDS软件Lite版本。
MES2KG开发板硬件使用说明书.pdf----同论坛内紫光MES1/2KG 开发板——硬件使用说明。
MES2KG.rar----盘古2K开发板demo和教程等,重要参考依据,必下。
MES1KG、MES2KG_LPG100_2.pdf---开发板电路图。
DS03001_Compact系列CPLD器件数据手册_V1.5.pdf
system_ip_lite.zip
PDS_2022.2-SP1-Lite.zip---PDS软件Lite版本(免License),必下,主要使用的软件。
实验参考教程
[文章] # 【紫光同创国产FPGA教程】【PGC1/2KG第一章】控制LED灯实验例程
[文章] # 【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED 流水灯实验例程
第一章教程不完整,建议重新修改下。
好在分享的文件“MES2KG.rar”中MES2KG\demo中也提供了该教程“MES2KG开发板实验指导.pdf”,本次实验主要参照 2. LED 流水灯,图片不再重复粘贴。另还需参考MES2KG\工具篇中“PDS快速使用手册.docx”。
安装PDS
解压PDS_2022.2-SP1-Lite获得PDS_2022.2-SP1-Lite-win64.zip,解压PDS_2022.2-SP1-Lite-win64.zip,运行Setup.exe,一路默认即可。
注意,需注意杀毒软件是否会误杀文件,已确认ESET Endpoint Antivirus会误杀,而火绒安全不会。
编写代码
可在PDS中编写,也可新建文件(water_led.v)使用Visual Studio Code + Verilog-HDL/SystemVerilog/Bluespec SystemVerilog 扩展进行编写。
如何编写代码是一大难事,好在教程里有,当然demo里也有。
有现成代码也要会读代码,但没有基础确实不好懂。
上来示例代码就是8bit的位宽数据看作8个独立的信号线,8个信号线之间的排序及相互之间的赋值做了调整,以致后面I/O设置也要进行相应调整。呼应Module第31行。
下面编写Module。
确定输入输出信号,输入时钟和复位,8 个LED输出8bit位宽的信号。
设计计数器,单个状态计数20000000(不太懂,可能是固定值),1 个亮灭周期的计数即为40000000 = 26'h2625A00,计数器的位宽为26 位(h为16进制,2625A00为16进制的40000000,26'不太懂,可能自定义数值为26位),d二进制时,周期从0开始,19999999结束,硬件输入时钟为40MHz,则计数器周期为0.5s。
LED显示状态控制,led_light_cnt 的计时周期为0.5s,取一个点来变更LED 的显示状态即可,LED 亮和灭只有两个状态,在赋值处理上将寄存器取反即可。
代码里的判断不太懂,以后再继续研究。
硬件管脚分配
没接触过,比较陌生,跟着走。
正式操作
简单版:打开PDS 软件,打开demo中2_water_led工程,切换PGC2KG-6LPG100为PGC1KG-6LPG100,重新编译、生成位流文件并使用编程器刷写到板子上。体验感不强。
一般操作:参考MES2KG开发板实验指导.pdf
P12-13 Step1-3 打开PDS 软件,新建工程 New Project(water_led),可勾选Create project subdirectory由PDS生成以项目名为名的新文件夹,也可取消勾选直接指定项目文件夹。
P14 Step4 选择RTL project;Step5 在Add Design Source Files页面可直接点击Add Files添加water_led.v。
P15 Step6-7 Next即可。
P16 Step8 按开发板选择,盘古1K对应器件系列 Family Compact、型号 Device PGC1KG、封装 Package LPG100、速率 Speed Grade 默认的6即可、综合工具 Synthesis ADS;Step9 Finish
P17-22 新建v文件并编写代码,因已导入water_led.v可直接跳过。
P23-24 编译 等待updting结束后出现water_led.v,双击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,待开发板就绪后在弹出选择位流文件water_led.sbit,确定。在pango蓝色方块右键单击,单击Program,待进度条走完后烧录完成,8 个LED以0.5s间隔接替闪烁。实验完成。