本周工作内容_2025_5_22

工作进展

程序选的fpga芯片出现了问题,按道理应该是zynq的xczu7eg系列芯片,但是选成了xczu7ev的了,导致生成的gt相关程序不一样,最终的比特流文件始终烧录不上去。

报错信息:

ERROR: [Labtools 27-3303] Incorrect bitstream assigned to device. Bitfile is incompatible for this device. Bitstream was generated for device xczu7ev and target device is xczu7.

此外,原来一直使用2019版的vivado,在与学长交流项目工程文件时经常因为学长这边的版本过高,不能自己打开项目工程,现在把vivado版本更新成和学长同步的2023版了。似乎2023版有些特性与2019版不一样,之前2019版没有出现过问题的代码,2023版开始报错了。比如文件中差分时钟相关代码报错:

[Place 30-681] Sub-optimal placement for a global clock-capable IO pin and MMCM pair. As a workaround for this error, please insert a BUFG in between the IO and the MMCM. 
	clock_reset_inst/clk_100mhz_ibufg_inst/IBUFCTRL_INST (IBUFCTRL.O) is locked to IOB_X2Y97
	clock_reset_inst/clk_mmcm_inst (MMCME4_ADV.CLKIN1) is provisionally placed by clockplacer on MMCM_X1Y2

	The above error could possibly be related to other connected instances. Following is a list of 
	all the related clock rules and their respective instances.

不排除是自己下载2023时候出了些问题,因为之前有个类似用来测试功能的led控制小工程,相同的项目文件在学长那里不会报错,在自己这里就有类似的报错信息,而且都是差分时钟相关的代码。

问题反思

和学长交流,学长指出了我工作中常出现的问题:

  1. 经常没有思考清楚就行动,导致后面做的内容处处有漏洞,后面处理漏洞的时候就很难解决,很多时候可能得要推翻重来,效率低下;
  2. 基本没有项目工程文件管理意识,项目调试后不同版本排序混乱,程序修改十几次后,自己都不知道哪个项目在先,哪个项目在后,某个项目有什么修改的内容了,后面复用代码时容易出问题,把没有修复某某问题的代码又丢了进来,等到出现问题时以为加进来的代码没有问题,很影响调试效率;
  3. debug经验不足,容易卡在很莫名其妙的小问题上,长时间解决不了(比如本周的比特流文件无法烧录的问题),又想不明白怎么缩小问题范围。

本文章使用limfx的vscode插件快速发布