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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3522|回复: 9

[求助] 问一个白问题 “dc脚本里面的‘\’怎么用?”

[复制链接]
发表于 2011-5-17 22:25:47 | 显示全部楼层 |阅读模式

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

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

x
大家好:
     最近在学习DC,在学习TCL语言的时候发现DC里面支持“\”符号,用来将一个很长的命令划分成多个行,来表示行连续命令。在makefile里面也经常会遇到这个符号,用起来还比较方便——提高了代码的可阅读性,并且编写出来的脚本看起来也紧凑。
     但是写了一个DC的脚本,其中涉及到一个命令,因为命令本身再加上-option ,-argument这些参数,整个命令就变得长了,所以本人想借助“\”符号将整个命令行打断成多个行,最终发现运行的时候居然出错了。
     整个命令如下:
  create_generated_clock -name clock1 [get_pins uproject/usubdesign/pina] \
    -source [get_pins  uproject/usubdesign/pinb] \
    -master_clock clock2 \
    -add
  经过dc_shell-t运行后居然发现报告了很错错误,错误内容大致如下:
  Error: can not execute the command "-source"
  Error: can not execute the command "-master_clock "
  Error: can not execute the command "-add"
  最后本人将整个命令写在同一行
  变成:
  create_generated_clock -name clock1 [get_pins uproject/usubdesign/pina] -source [get_pins  uproject/usubdesign/pinb] -master_clock clock2  -add
   结果居然执行成功了。
   不知道上面的“\”为什么失效了,请高手指点。
发表于 2011-5-18 12:23:02 | 显示全部楼层
\ 之前需要空格, create_***命令一行写不下,下行继续
 楼主| 发表于 2011-5-18 12:50:30 | 显示全部楼层
本帖最后由 gbsid 于 2011-5-18 12:54 编辑

首先非常感谢上面的朋友,在“\”之前我已经增加了空格。并且
    -source [get_pins  uproject/usubdesign/pinb] \
    -master_clock clock2 \
    -add
这些之前本来是“tab”形式的空格,后来我也删除了,但是还是不行。并且本人确信在“\”之后不存在空格。继续寻求解决办法
发表于 2011-5-18 12:55:23 | 显示全部楼层
你的那个\之后有个空格。
这个是非常基本的TCL语法的问题。
发表于 2011-5-18 19:56:22 | 显示全部楼层
楼上的没有看懂就不要瞎说了“并且本人确信在“\”之后不存在空格”,我就怕有人会给出这个答案。
 楼主| 发表于 2011-5-18 21:55:17 | 显示全部楼层
最终问题还是被我自己解决了,都怪我异想天开了,因为在dc的user guide中始终提到了一个词语“sdc (synopsys design constraint)”,所以我将约束脚本也设定为.sdc文件了,结果导致dc不能够识别其中的命令,并且在Dc中也提到了sdc是有版本区别了,所以以后需要注意了。
发表于 2011-5-19 11:25:11 | 显示全部楼层
额,反而看不懂了,就算后缀写成sdc。那为什么不用"\"就行了?
感觉楼主的问题和最后的解决办法不搭边啊。。。。
发表于 2011-5-19 12:10:53 | 显示全部楼层
很明显,LZ你在windows下编辑的脚本跑到服务器上跑。。。我以前也是,后面直接在linux下用vi编辑就不会有事了,加不加空格无所谓,sdc什么的也无所谓,只要用source就可以了,不要用read_sdc。
 楼主| 发表于 2011-5-19 12:49:57 | 显示全部楼层
补充楼上的,确实是因为文件的格式不正确。在编辑器里面应该设定好新文件的类型,最好选择“unix”,因为这会导致文件的运行格式不正确,如果你是在dos系统下编辑的脚本,在linux系统里面可以使用dos2unix命令将文件格式转换成unix格式的文件。这样也可以使dc能够识别你的文件。
 楼主| 发表于 2011-5-19 12:52:04 | 显示全部楼层
对该问题不在讨论,教训值得吸取
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-2-13 06:04 , Processed in 0.022970 second(s), 9 queries , Gzip On, Redis On.

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