原理图绘制基础:Schematic Editor界面详解、元器件调用与放置、Wire与Bus连线技巧、Label与Pin设置

好,咱们今天聊聊原理图绘制。说实话,很多新手觉得画原理图就是拖拖元器件、连几根线,没什么技术含量。但我跟你说,这个想法可不对。我见过太多因为原理图画得不规范,导致后端版图工程师跑来吵架的案例了。嗯,咱们今天就把这块基础打扎实。

Schematic Editor界面,你得先摸熟它

打开Virtuoso,进入Schematic Editor,你第一眼看到的是什么?一个灰白色的画布,周围全是工具栏。我刚开始用的时候,也觉得眼花缭乱。但说白了,你只需要记住几个核心区域。

  • 菜单栏:最上面那一排。我平时用得最多的是CreateEdit菜单。元器件调用、连线、打Label,全在这里。
  • 工具栏:菜单栏下面那一排图标。我个人习惯把常用的几个拖到显眼位置,比如Instance(调用器件)、Wire(连线)、Pin(打引脚)。
  • 画布区:中间最大的区域。右键可以调出快捷菜单,这个很实用。
  • 状态栏:最底下。这里会提示你当前的操作模式,比如“正在连线”还是“正在选择”。
小技巧:按F键可以全屏显示画布,按Ctrl+Z可以撤销。这两个快捷键我一天能用上百次。

元器件调用与放置,别小看这一步

调用元器件,快捷键是I。按下后,会弹出一个窗口让你搜索器件库。比如你要放一个NMOS管,直接搜nmos就行。

我记得有一次,一个同事调了半天没找到电阻,急得满头大汗。我过去一看,他搜的是resistor,但库里用的是res。所以啊,库里的命名规则你得先搞清楚。

放置的时候,我建议你养成好习惯:

  • 器件放正,不要歪歪扭扭。按R键可以旋转,按M键可以镜像。
  • 留出足够的间距。别挤在一起,后面连线你会哭的。
  • 电源和地,我习惯放在画布的上方和下方,这样信号流向清晰。
注意:调用器件时,一定要确认你选的是schematic视图,而不是symbol视图。我曾经犯过这个错,结果画了半天发现调出来的是个黑盒子,根本看不到内部结构。

Wire与Bus连线技巧,信号通路要清爽

连线用Wire工具,快捷键W。点一下起点,再点一下终点,线就画好了。但这里有几个坑,我得跟你说道说道。

第一,线要直。 别画成蛇形。按住Shift键可以强制走直角,这个很实用。

第二,Bus线怎么画? Bus就是一组信号线,比如data[7:0]。画Bus的时候,先画一根粗线,然后打上Label,比如data<7:0>。注意,Virtuoso里Bus的尖括号是<>,不是[]

我遇到过一个问题:Bus线连好了,但仿真报错说信号没连上。查了半天,发现是Label的格式写错了。嗯,这里要特别小心。

第三,连线时别交叉。 如果必须交叉,用stub(短截线)或者跳线的方式。我个人的习惯是,能避免交叉就尽量避免,实在避免不了,就在交叉点打个pin标记清楚。

核心原则:原理图是给人看的,不是给机器看的。画得清爽,后面调试、改版都省心。

Label与Pin设置,名字起好了事半功倍

Label就是给线起名字。快捷键L。点一下线,输入名字,比如clkrst_n。注意,名字要见名知意,别用net1net2这种。

Pin的设置稍微复杂一点。Pin是芯片的对外接口,比如输入、输出、电源、地。设置Pin的时候,要指定方向:

Pin类型 方向 示例
输入 input clk, rst_n
输出 output vout, data_out
双向 inout data_bus
电源 supply VDD, VSS

我曾经犯过一个低级错误:把输出Pin设成了input方向,结果后仿真一直报驱动冲突。查了两天才发现是Pin的方向设反了。所以啊,设置Pin的时候,多看一眼属性框。

避坑指南:Label和Pin的名字要一致。比如你给一根线起了名字叫clk,那对应的Pin也要叫clk。大小写也要统一,Virtuoso是区分大小写的。

好了,原理图绘制的基础就这些。你想想看,其实并不复杂,但细节很多。我建议你每画完一个模块,就做一次Check and Save(快捷键X),让工具帮你检查一下有没有悬空的线、没连上的Pin。这个小习惯,能帮你省下大把的调试时间。