• 关于最近项目数字前端FLOW的一些总结


    1.插入scan链需要注意scan_clk/scan_en/scan_in/scan_out/scan_cmpsen的定义
    其中scan_clk/scan_en/scan_in/scan_out需要复用4个PIN;
    scan_cmpsen可以省一个内部在scan_mode下切成1也可以
    2.scan_mode寄存器,复位信号不能被scan_mode切换
    3.进入scan模式后,scan_mode寄存器锁死,此时芯片没有function功能,必须断电复位
    4.切scan模式后,需要主要时钟和复位的切换,时钟都切到scan_clk;复位都切为释放复位
    5.切scan模式,注意数模接口一版切为默认值;但是有特殊要求的,特别是GPIO控制信号,不能把复用scan控制信号的GPIO切走了,一般需要和模拟实际人员商量
    6.若设计中存在时钟互采样(如高频采低频),切scan的时候由于时钟均切到scan_clk,此时会出现scan_clk采样自己的情况,所以在scan模式下需要将输入D端的时钟信号切到任意一个寄存器输出信号即可。

    7.DC综合阶段,由于读入的是模拟模块,例如:模拟顶层、GPIO模型等都是假的,数字自己生成的。所以若有scan链插入需要,则需要在自己生成的GPIO或者模拟顶层LIB里面,定义接口逻辑(用综合库lib的语言定义);再将LIB转化成db.再进行综合插入scan.
    定义接口逻辑这句话理解就是,比如顶层PIN 名字叫SCL,复用scan_in的输入PIN,该PIN是GPIO;该PIN inout端口是P,输出是I;就在lib里面描述出 I = IE ? P : 1’bz;这一关系,表示该PIN复用为SCAN的逻辑关系

    8.综合完成后,需要认真查看报告

    9.进行formality比对时,若出现长时间比对不出结果的情况。很可能时工具对某些逻辑进行了深度优化。此时,可设置formality timeout时间,timeout后会通过命令吐出难比对的逻辑;
    通过在DC脚本里,对该逻辑部分设置 set_verification_priority - high [get_designs {xxxxx}]
    重新综合比对;若还是不行只能更换低版本工具

    10.scan模式复用的scan_out PIN输出频率必须和模拟确认能达到10M(根据scan clk约束定)

  • 相关阅读:
    kotlin使用教程
    第六部分--模板
    深度学习(PyTorch)——循环神经网络(RNN)进阶篇
    Linux内核基础篇——动态输出调试
    如何使用jenkins、ant、selenium、testng搭建自动化测试框架
    Docker跨主机访问容器
    @Async注解详解+实例
    【算法基础】:(二)希尔排序
    视觉系统设计实例(halcon-winform)-10.PLC通讯
    Django模型层
  • 原文地址:https://blog.csdn.net/m0_49540263/article/details/140293742