网站标题是什么,创建全国文明城市工作要求,长尾词在线挖掘,室内设计师联盟效果图因为只负责一个子模块#xff0c;所以需要单独对该子模块进行综合和过OOC#xff0c;这时候已经有一些加虚拟pin文件#xff0c;敲命令让子模块能过OOC的方法。但这个方法的前提是先过综合#xff0c;然后再敲命令让虚拟管脚命令成功#xff0c;最终可以过OOC。
今天负责…因为只负责一个子模块所以需要单独对该子模块进行综合和过OOC这时候已经有一些加虚拟pin文件敲命令让子模块能过OOC的方法。但这个方法的前提是先过综合然后再敲命令让虚拟管脚命令成功最终可以过OOC。
今天负责的这个模块的一个输入时钟是某个IP核的输入所以这个IP核对这个输入时钟有要求限制。要求必须是PLL IP的输出时钟才可以。所以这个项目总工程能综合通过但子模块却卡在了综合这里一直过不了。我呢太懒不想改代码。琢磨了一天也没想出来咋办。 最后领导建议了。
方法一:自己在这个子模块基础上加个top然后加上PLL IP然后把这个时钟输出在作为输入接入子模块。这方案当然不是我想要的哈哈。就不想写代码。
方法二:直接把整个工程跑综合过了就算通过了。等于不再单独对这个子模块进行OOC检查了。 OOC:概念out of context 的缩写
上下文无关综合。
这种概念我是来这家公司才知道的因为之前公司整个项目都是自己做不涉及子模块问题但现在公司很系统很细节很螺丝钉只负责子模块就有OOC的环节之前我一直以为就是整个项目跑实现implementation的意思。原来这个OOC是模拟这个过程在不分配管脚的情况下。
官方解释:FPGA设计通常由多个模块组成传统综合是将整个设计作为一个整体进行处理。而OOC综合允许独立地对设计中的各个模块进行综合每个模块的综合过程不依赖于整个设计的上下文信息。
我可是够懒的了做了好几年了才理解这个词啥意思……
作用:
提高综合速度:当FPGA设计规模庞大结构复杂时整体综合会消耗大量的时间和系统资源。采用OOC综合不同模块可以并行处理也就是不同模块负责人各干各的不用互相等大大缩短了综合的总时间。例如一个包含多个复杂IP核和自定义逻辑模块的大型FPGA设计对各个模块分别进行OOC综合能显著提高效率。很显然小项目可能用不上大项目甚至是芯片设计的那种可能会用上这种精细的工作。
优化模块性能:在独立综合每个模块时可以针对该模块的特点进行更精细的优化设置。比如对于一个对时序要求极高的模块可以单独为其设置更严格的时序约束和优化策略而不受其他模块的影响从而提升该模块的性能。
便于模块复用:通过OOC综合得到的模块具有更好的独立性和可移植性。在不同的设计项目中如果需要复用某个模块只需将该模块及其相关的OOC综合结果导入即可无需重新对整个设计进行综合。
使用方式:
模块标记:在设计代码中需要明确标记哪些模块要进行OOC综合。不同的FPGA开发工具标记方式可能有所不同。例如在vivado中可以通过设置属性来指定某个模块为OOC模块。
就我的经验而言vivado开发这个过程比较容易在设置中综合设置里面加上命令-mode out_of_context
具体是tools-settings-synthesis more options中输入
-mode out_of_context然后implementation通过就等于过了OOC单独模块的无上下文综合。
而intel的quartus需要一些脚本操作来完成相对复杂了一点。需要linux人来配合写个脚本啥的
2025.02.07 好啦这次经验写到这里。说点题外话这几年我一直没来写原因是我进了一家外企安全管理过于严格电脑随时被监控我不敢登录这里。最近打算离职了突然试了一下电脑上登录了结果给我发邮件说我在韩国登录了该博客吓死我。赶紧退出。所以现在是用手机登录来写的比较麻烦。
这几年也学到了很多其实如果电脑不被监控我也会留下很多经验给大家分享我是个记忆力极差的人做完就忘。导致我一直有记录的习惯下次再遇到就来翻一翻。可是这两年多的经验就失传了遇到很多问题但无法写下来也带不出去公司电脑u盘都不让带我又记不住面试的时候把我问的一愣一愣的好像我是个骗子都是编的经历一样其实真的是做过但忘记了所以人记性差真的吃亏啊。
面试也是给我说我技术深度不够……目前自卑的很。
简单的看到大家给我的评价很高兴能帮助到大家大家问我的问题可能也是很久了有些细节我自己也忘了就不回复了。如果新工作保密要求不高我会再来分享经验的