virtuoso cadence初学--常用设置文件2(.cdsinit、.cdsenv、.bashrc)

本文详细介绍了Linux系统中的.bashrc文件,用于个性化配置和别名设置,以及Cadence的cdsenv和cdsinit配置文件,包括加载快捷键、波形图设置、LibraryManager自动打开和窗口/字体设置。
摘要由CSDN通过智能技术生成

        比较经常使用或者常用来自定义的文件还有这三个。

1.bashrc

       其实这个文件在Linux系统里应该是很常见的一个文件。

       为了加载客户配置,bash 在每次启动时都会加载 .bashrc 文件。它用来存储并加载你的终端配置和环境变量。终端配置可以包含很多不同的东西。最常见的,.bashrc 文件包含用户想要用的别名。别名(英文 alias)允许用户通过更短的名字或替代的名字来指向命令,对于经常在终端下工作的人来说这可是一个省时利器。

        这里是一个讲述该文件的文章

什么是 .bashrc,为什么要编辑 .bashrc? | Linux 中国 - 知乎

        一般我们用这个也确实只是来弄一个相当于快捷键的东西。如果是IC工作者的话,如果打开virtuoso cadence软件,就需要在终端(Terminal)里面输入指令——virtuoso&(一般直接virtuoso也是),IC617或IC618系列版本就是这两个指令,如果使用的早期版本(比如IC5141)的话可能会看到icfb&这个指令,但是选择普及的一般都是617之后版本,所以演示也都是617或618版本。

        使用的指令是alias,一般这个文件放在工程文件夹之外(一般都是自己的home文件夹下面就好),就是保证一个全局有效。

        alias指令举例:

                alisa v='virtuoso&'

        上句话的意思就是快捷键v的指令就是virtuoso指令,这样以后打开cadence就可以快速一点了。

        当然要注意的是,我们自己设置快捷键时,要和系统中自带的快捷键区分开,不要出现冲突,就比如linux系统中自带的top(该命令是任务管理器)等。

        alias指令更高级一点的,就是多条指令逐个完成,比如:

                alias CSDN='cd /home/IC/PROJECT_2024/HX_STONE;virtuoso&'

        上条指令代表,先cd(change directory),切换目录到HX_STONE,然后再打开virtuoso仿真软件。

        如图所示,

        对于华宏的一些(或者全部)工艺库,库文件不会自动载入,一般会有一个pdk.csh文件,需要先载入该文件,再打开仿真软件,否则会出现问题(比如没库器件模型等)。一般的方法就是source /home/.../pdk.csh 后面的就是该pdk.csh文件的地址。目前手里没有华宏库就不演示了。

       

2.cdsenv

        其实这个文件一看名字都知道是cds的环境设置文件。这也是初始文件,但是我确实没有去修改过这个。大家可以先看一下这个。如果以后用到,会对内容进行补充。

Virtuoso配置文件“.cdsenv”文件介绍和使用-CSDN博客

3.cdsinit

       Cadence 配置的 .cdsinit 文件,负责加载应用的初始化设置,这包括原理图和版图的快捷键配置文件及 Calibre 接口文件等的加载。 .cdsinit 文件是一个 skill 脚本文件,用户可写入附加指令对应用软件的使用进行配置。一般如果是网上下载的虚拟机,该文件会在你的Home文件夹下面,是隐藏文件,要打开隐藏文件的选项;如果不是,可以上网去查该文件初始在哪里,然后可以复制到自己的Home目录下,因为如果要加东西的话,好找好修改。
       该文件就是下面图里的文件(节选,其实大部分正常使用的时候是不会动的), 注意,在该文件里 ; 是注释符号
由于是cadence初始的配置文件,所以我们在这里面可以修改很多东西,比如在上篇文章里所述的仿真波形图的曲线粗细等配置。

1.显示配置

drLoadDrf(filePath)

        我这里就是("/home/IC/Documents/display/dispaly_blue.drf")

        在cdsinit文件里加这句代码,意思是初始化时,加载显示文件display_blue.drf;这就是自己保存的显示相关的配置。具体的操作在上一篇里有涉及。

        对于有一些工艺库,可能他的显示配置优先级较高,所以需要先注释掉他自带的配置,再去加载我们自己的drf文件。

ddGetObj("工艺库名称");

drLoadDrf(filePath);

        这样就会加载自己的配置。

2.波形图背景色与曲线粗细配置

envSetVal("viva.graphFrame" "background" 'string "white")

上面是设置背景色为白色的命令,很多回答里面是写的viva.rectGraph,可能是目前的版本更新不能使用了,上面的命令是最新的IC618亲测的

设置曲线的粗细除了.drf文件之外就是这个了 
envSetVal("viva.trace" "lineThickness" 'string "thick")

除此之外还有以下命令:

摘自Helpful Hints for Modifying the .cdsinit

(这个网站也是刚找到的,宝藏啊)

; Set line thickness to thick 
envSetVal("viva.trace" "lineThickness" 'string "thick")

; Add these scripts to the bottom of the .cdsinit file located in your CMOSedu directory

; Set Spectre as the default simulator
envSetVal("asimenv.startup" "simulator" 'string "spectre")

; Auto-hides options for all tools, such as copy, move, create instance, etc. Press F3 to show options.
; envSetVal("ui" "showOptionForms" 'boolean nil) ; Uncomment this to enable. I didn't want to suprise anyone with this feature.

; Auto select "Cellview" when saving/loading states. Default: nil
envSetVal("asimenv" "saveAsCellview" 'boolean t)

; Display pin names by default in layout
envSetVal("layout" "displayPinNames" 'boolean t)

; Set stop level to 32 to show everything in layout
envSetVal("layout" "stopLevel" 'int 32)

; Set default models for spectre
envSetVal("spectre.envOpts" "modelFiles" 'string "$HOME/ncsu-cdk-1.6.0.beta/models/spectre/standalone/ami06N.m $HOME/ncsu-cdk-1.6.0.beta/models/spectre/standalone/ami06P.m")

; Disable warning for a 4-way interesection wire aka solder dot crossover
envSetVal("schematic" "srcSolderOnCrossover" 'cyclic "ignored")

; Set the graph background to white
envSetVal("viva.rectGraph" "background" 'string "white")

; Set the graph foreground to black
envSetVal("viva.rectGraph" "foreground" 'string "black")

; Help changing the default style/color/thickness of a waveform or trace in ViVA (Cadence's waveform viewer) is found here.


; Set graph axis font and size
envSetVal("viva.axis" "font" 'string "Fixed [Misc],12,-1,5,50,0,0,0,0,0")

; Set graph marker font and size
envSetVal("viva.pointMarker" "font" 'string "Fixed [Misc],12,-1,5,50,0,0,0,0,0")

; In ViVA there is a vertical marker (bindkey v), a horizontal marker (bindkey h), and a difference marker for each direction (bindkey d). You can modify these markers' fonts and sizes with the following lines:

; Set vertical marker font and size (36 point font below)  

envSetVal("viva.vertMarker" "font" 'string "Fixed [Misc],36,-1,5,50,0,0,0,0,0") 

; Set horizontal marker font and size (36 point font below)  

envSetVal("viva.horizMarker" "font" 'string "Fixed [Misc],36,-1,5,50,0,0,0,0,0")

; Set vertical and horizontal dx/dy markers' font and size (36 point font below)  

envSetVal("viva.multiDeltaMarker" "font" 'string "Fixed [Misc],36,-1,5,50,0,0,0,0,0") 

;------------------------------------------------------------------------------------
; The following work for plotting expressions with the calculator

 
; Set line thickness to thick 
envSetVal("viva.trace" "lineThickness" 'string "thick")

; Set line type to solid 
envSetVal("viva.trace" "lineStyle" 'string "solid")

再给这个网站打个广告,很多要用的脚本这里面都能找到

CMOSedu.com

3.快捷键

        快捷键,如果想要一直使用,也要写进cdsinit文件内。

        我们先看一下快捷键怎么设置。首先找到bindkeys ,位置如下。

打开Bindkeys,

        红色框里,是各个模块下的快捷键目录,绿色框就是实际的快捷键,以及对应的命令;蓝色框是加载,保存的选项,我们设置好保存后,可以下次打开进行加载。当然这对于我这样的懒人,属于是费老大劲。

        下面我们看一下怎么找到我们想要的命令对应的代码。在下面这个图里,找到Log Filter ,然后勾选\a,然后我们选择的命令,会在CIW窗口出现相应的命令代码。

        下面演示一下。我们有时候打开电路是可读不可编辑属性,我们想要进行修改时,会出现错误,我们需要将电路修改为可编辑。

这时候就可以继续编辑了,这里可以将该命令改为快捷键。

在CIW里看该命令的代码

我们在该界面,右下角,绿色的加号,是添加快捷键,注意,不要将原本内置已有的快捷键给删除或修改。一般我们自己添加的快捷键都是键盘数字键。比如这里我设置的3,代码直接复制刚才看到的代码,然后保存应用,以便于后续直接加载使用。

        一般这里保存的时候文件类型我设置为.il文件,可以直接在cdsinit里加一句代码

                load("../~/~/bindkey.il") 就ok。

        在保存的路径下找到我们保存的.il文件并打开;可以看到我们添加进去的代码形式。这里和上面的代码,主要是多了 \ 符号,要注意,如果想要直接在文件里添加的话要修改正确。

        只要指令里面,有双引号的,需要在其之前和双引号内的字母之前加 \

重新打开时,就会加载该文件。

3.1快捷键其二

        其实我们可以不使用上面的il文件,直接在cdsinit文件中写命令,注意要和il中看到的对应,比如这个\斜线。appList就是bindkey Editor里面的各模块名称,我们这里只用在电路图上,就只有Schematics。

;bindkey 

let((app appList)
 ;appList='("Schematics" "Layout")
 appList='("Schematics")
  foreach(app appList 
	hiSetBindKey(app "<Key>3" "_schHiChangeEditMode(\"a\")")
        ;Add more
	)
)

这样不需要load il文件,初始化时也会将快捷键加进去。

我经常用的还有这个快捷键,飞线的打开关闭。

代码如下 

;bindkey 

let((app appList)
 ;appList='("Schematics" "other")
 appList='("Schematics")
  foreach(app appList 
	hiSetBindKey(app "<Key>1" "schViewMenu->NetHighlights->checked=t") ;open
	hiSetBindKey(app "<Key>2" "schViewMenu->NetHighlights->checked=nil") ;close
	hiSetBindKey(app "<Key>3" "_schHiChangeEditMode(\"a\")")
        ;Add more
	)
)

4.有用的配置

(一)ddsOpenLibManager()

启动时自动打开 Library manager;因为ICer需要对着库去找东西,所以自动打开可以省事;

(二)窗口位置大小固定:

hiResizeWindow(window(1) list(0:0 800:600))

CIW窗口打开软件时位置在左下角,list后面的就是代表这个窗口的位置。

(三)字体大小调节

hiSetFont("ciw" ?size 14)
hiSetFont("label" ?name "Open Sans" ?size 14)
hiSetFont("text" ?name "Open Sans" ?size 14)

给大家看一下波形图,为了对比,把上次我们跑出来的图进行对比

        这是没有修改之前的波形图,可以看到背景是黑色,曲线是细;注意,如果你在drf文件里改过线的粗细,这里的线宽肯定是有变化的,如果再加上envSetVal(...)的粗细,有可能会出现问题,那就是两种粗细都有可能出现,因为两个配置会打架,但是一般是默认drf里面的线粗细。

        下面这张图,就是我们修改之后的,他的线变成粗线,背景白色,这样我们截图的时候是很好处理的。

OK,就这么多吧,如有错误,敬请指正。有疑问可以评论我。大家下次再见吧。

  • 31
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值