KEEP ALIVE

为了保持 时钟在testflow中,多个测试项中连续运行,需要避免primary被激活。在PATTERN执行借宿时,break vector连续执行。当下一个测试项执行时,primary set被检查和重新激活。primary set被激活的过程会打断波形,造成器件的PLL失锁,器件状态丢失。以下使用multiport,break waveform以及FTCG 固件命令,以及时钟系统、使用“fract”语法来提高timing精度。

数字时钟生成:

MCLK:CLOCK BOARD时钟周期 2-5ns

若PORT1想得到10nS时钟周期、PORT2想得到25nS时钟周期、PORT3想得到30nS时钟周期。

只能通过设置MCLK频率,再通过一定的倍频、分频方式实现。

即ECLK_PORT1=10/4=2.5nS;ECLK_PORT2=25/8=3.125nS;ECLK_PORT3=50/31=3.1nS

SCLK即是求ECLK的最小公倍数:LCM(2.5 3.125 3.1)=387.5nS

SCLK周期过长,会导致不良影响:

时钟对齐,需要的死区时间过长。会影响PATTERN测试时间,SEARCH工具。

SCLK的计算:

fract()函数 ,直接告诉软件怎么计算,不用换算成小数再计算,示例如下。

PORT1:period = fract(40,100,ref)

PORT2:period = fract(32,100,ref)

PORT3:period = fract(62,100,ref)

LCM(40/100 32/100 62/100)=4960/100=49.6nS

LOOPBACK测试示例:

3个频率管脚需求:

XTAL_PORT: 54Mhz

HS_PORT:96Mhz~24Mhz

LS_PORT:HS_PORT/Xfact(4),即24Mhz~6Mhz

程序设置如下:

出现ERROR,解决方法如下:

使用fract()来确认MCLK的值:

PATTERN执行借宿时,XTAL时钟持续输出。

程序描绘波形如下:

可以使用系统自带的TML,跳过PRIMARY REACTIVATION,如下图:

但是 : 如果SPEC改变 ,timing会重新load,reload过程中,XTAL 时钟掉了,timing load完之后,XTAL继续输出时钟。

解决方法:使用相同的SPEC,设置不同的Timing Set,示例如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值