以下内容以记录一次反相器绘制为例子(数据啥的都不考虑了…因为我是个小萌新)
绘制原理图
New->library->name建立一个自己的库
New->Cell view…进入
注意:因为绘制原理图,所以Tool要填写Composer-Schematic,然后View name 自动填写,点击ok。
进入下图界面
每个功能介绍在左边,快捷键是冒号后面的内容。
我们首先用i快捷键放置器件
点Browse选择如下:
close->hide,鼠标左键就放置了一个nmos(注意经常按esc取消操作)
单击器件,q键弹出器件信息:
这些东西根据自己设计来定。
同理放置pmos
快捷键w用来连线,如下图所示(F键保持合适窗口、方括号调整大小、鼠标右键拖动选择放大、连线要点不要拖、没有端口的双击为确定)
下一步添加电源和地,按i在analogLib中找(F3键是更改设置,如果不好用要注意自己是不是有Fn功能键转换)
然后点击
为衬底连接
按P(PIN)添加引脚,注意!Direction要选择对应的如(out选择Output)然后再连线
点击第一个Check and save保存
然后生成单元、以供调用
默认配置一顿点OK
生成symbol
保存,退出这个Inv东西的原理图就完成了,但是为了确保好不好用,就像FPGA一样,需要Textbench检测。下面让我们创建INV_TB并进行仿真。
和创建INV开始的步骤并无区别
按i将之前的INV添加进来
当然这一个加上电源、地和信号就可以撤了,但我们为了了解快捷键…多费费时间…单重复制,点击器件按C然后左击选择起点,移动鼠标,再左击确定。
多重复制(删除是delete然后单击)
单击,C,F3
Row填4,单击,鼠标下滑完成
之后和建立INV类似,添加vdd、vdc、gnd
单击vdc,按q将vdc电压设为1.2V
加激励源vpluse设置如下
最后将原理图连接如下:
(小技巧,OUT可以一次创建多个同一类型的,设置如下)
然后检查保存
然后创建仿真环境
选择观测点:
回到原理图,点线就是看电压,点端口就是看电流
我选了这几根线,然后点这个看仿真
结果:
点红圈分离
可以看出正确(鼠标选好位置,按M可以看具体数值)
下面介绍一种基于Verilog数模混合的仿真
第一步:选择如下配置创建一个cell
输入如下:
`timescale 1ns/10ps
module vec_gen (out1,out2);
output out1,out2;
reg out1,out2;
initial begin
out1=1'b0;
#3;
out1=1'b1;
#4;
out1=1'b0;
#6;
out1=1'b1;
end
initial begin
out2=1'b0;
#2;
out2=1'b1;
#5;
out2=1'b0;
#9;
out2=1'b1;
end
endmodule
点两个yes完事
生成symbol,然后同TB一样创建一个CELL,然后调用这个模块,连线如下图所示
最大不同出现了
我们要为它额外在产生一个config创建模拟环境
设置如下
导入信息如下就正确
然后点这个config,如之前一样调出
分别修改input和output
仿真器选择
同tb一样的方式选择瞬时仿真,和时间
同之前一样选观察线
结果如下(期间出现了点小问题,就是vdc的数没了导致波形不对,所以大家复现的时候单击vdc按q看看DC voltage是不是1.2V)