在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8400|回复: 5

[原创] UPF的版本真是个大坑

[复制链接]
发表于 2017-4-1 23:07:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 Timme 于 2017-4-1 23:36 编辑

比如对create_power_switch命令,-ack_port开关在UPF 1.0/2.0/2.1中的定义:





  1. UPF 1.0 & 2.0:-ack_port {port_name net_name [{boolean_function}]}
  2. UPF 2.1:          -ack_port {port_name net_name [logic_value]}


复制代码


对最后那个boolean_function或logic_value,不同版本的定义:




  1. UPF 1.0:If a boolean_function is specified for –ack_port, the result of boolean_function is driven on –ack_port’s port_name after a control port transition. Otherwise, a logic 1 shall be driven after the switch is closed.
  2. UPF 2.0:If a boolean_function is specified for -ack_port, the result of boolean_function is driven on -ack_port’s port_name after a control port transition. Otherwise, a logic 1 shall be driven after an -on_state evaluates to True.
  3. UPF 2.1:If a logic_value is specified for -ack_port, that logic value shall be used as the acknowledge value for a transition to FULL_ON, and its negation is used as the acknowledge value for a transition to OFF. Otherwise the acknowledge value defaults to logic 1 for a transition to FULL_ON.


复制代码


最重要的是,各EDA工具对不同UPF版本的 Parse:




  1. JasperGold:严格依照版本标准 Parse
  2. SNPS:就算你设成2.1,我也按2.0 Parse
  3. CDNS:就算你设成2.0,我也按2.1 Parse



复制代码


在UPF的各种坑里,这只是冰山一角...

//--------------------------------------------------------------------

一个具体例子:

如果你在UPF文件里把版本设成2.1,然后写成 -ack_port {yourPort yourNet !SLEEP},那么,




  1. JasperGold在编译时会报错,因为2.1标准规定了最后那个参数是logic_value(0或1),而不是boolean_function


复制代码


如果你按照UPF 2.1标准改写成 -ack_port {yourPort yourNet 0},那么,





  1. 在VCS前仿时,只要发生过一次control port transition,yourPort就会一直卡死在0,无法再次翻转


复制代码


如果你直接省略最后一个参数,写成 -ack_port {yourPort yourNet},那么,




  1. 功能错误,yourNet极性反了


复制代码
发表于 2018-3-4 17:53:08 | 显示全部楼层
这个真个坑
发表于 2018-6-22 09:51:15 | 显示全部楼层
回复 1# Timme


   同感
发表于 2020-3-19 09:47:46 | 显示全部楼层
同感。  IEEE标准是一回事,EDA工具是另外一回事,不同EDA工具还不是同一回事,这都什么事。
发表于 2020-3-21 09:24:20 | 显示全部楼层
本來Synopsys 的水準就這麼一般般,Cadence 的CPF有比較好些嗎?
发表于 2020-9-23 19:46:39 | 显示全部楼层
对这个ack_port不是很明白,请问如果power_switch开通,那么ack_port应该输出0还是1呢?还是跟map_power_switch中选用的celll有关
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 19:25 , Processed in 0.016422 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表