原理图设计基础:从零开始搭积木

说实话,很多新手工程师拿到一个存储芯片项目,第一反应就是直接打开EDA工具开始画。我当年也这么干过,结果呢?画到一半发现少了个电阻,回头补上又发现网络标号连错了。嗯,这就是典型的「先开枪后瞄准」。

原理图设计,说白了就是把你脑子里的电路逻辑,翻译成EDA工具能看懂的语言。这个翻译过程,有它自己的规矩和流程。今天我就带你走一遍,我这些年总结出来的「不翻车」流程。

一、原理图设计流程:先想清楚再动手

我个人习惯,拿到一个存储芯片(比如DDR3、eMMC或者NAND Flash)的原理图任务,会先做三件事:

  1. 看数据手册 —— 搞清楚芯片有多少个电源引脚、多少个地址线、数据线怎么分组。
  2. 画功能框图 —— 在纸上或者白板上,把主控、存储芯片、电源、去耦电容、终端电阻这些大块头先摆好位置。
  3. 定网络标号规则 —— 比如地址线叫ADDR0~ADDR15,数据线叫DQ0~DQ7,别画到一半临时起名。

流程走下来,大致是这么个节奏:

步骤 做什么 我踩过的坑
1. 需求分析 确定存储芯片型号、封装、供电电压 曾经选错DDR3的电压等级,1.5V和1.35V混用,板子直接冒烟
2. 创建新项目 在EDA工具中新建原理图工程 记得设置好图纸尺寸,A4还是A3,别默认
3. 放置元器件 从库中调出主控、存储芯片、阻容 有时候库里的符号引脚编号跟实物对不上,要仔细核对
4. 电气连接 画线、放网络标号、总线连接 总线分组时,我习惯用颜色区分,比如地址线用蓝色,数据线用红色
5. 检查与编译 运行ERC(电气规则检查) 这一步千万别跳过,我吃过亏

二、元器件库的建立与管理:别做「孤魂野鬼」

你想想看,一个项目几十上百个元器件,如果每个都临时画符号,那得累死。所以,建库是正经事。

我一般把元器件库分成三类:

  • 公司标准库 —— 经过验证的、常用的芯片,比如STM32主控、W25Q64 Flash。这些符号和封装都是确认过的,直接用。
  • 项目专用库 —— 这个项目特有的芯片,比如某个冷门的DDR3颗粒。我会单独建一个库,跟标准库分开。
  • 临时库 —— 还在调试阶段的元器件,或者不确定封装对不对的。等验证完了再合并到标准库。
我的小技巧: 库文件命名要规范。比如「DDR3_MT41J128M16_Rev1.0」,一眼就能看出是什么芯片、哪个版本。别用「新建文件夹(2)」这种名字,三个月后你自己都找不到。

三、元器件符号的绘制规范:画得清楚,用得放心

元器件符号,就是芯片在原理图上的「脸面」。画得好不好,直接影响别人(包括未来的你)能不能看懂。

我总结了几个原则:

  • 引脚按功能分组 —— 电源引脚放上面,地引脚放下面,数据线放左边,地址线放右边。别把VCC和GND混在一起。
  • 引脚编号要对 —— 符号上的引脚编号必须跟实物封装一一对应。我见过有人把1脚和2脚画反了,结果PCB打样回来焊不上。
  • 隐藏电源引脚要小心 —— 有些EDA工具默认隐藏VCC和GND。我建议全部显示出来,哪怕只是放个网络标号。否则你可能会忘记接电源。
  • 添加必要的属性 —— 比如封装名称、厂家、型号、耐压值。这些信息在BOM导出时特别有用。

举个例子: 一个8脚的NOR Flash芯片,我习惯这样画:

  • 1脚:片选(CS#)—— 放左边
  • 2脚:数据输出(SO)—— 放左边
  • 3脚:写保护(WP#)—— 放左边
  • 4脚:地(GND)—— 放下边
  • 5脚:数据输入(SI)—— 放右边
  • 6脚:时钟(SCK)—— 放右边
  • 7脚:保持(HOLD#)—— 放右边
  • 8脚:电源(VCC)—— 放上边

四、电气连接的正确性检查:别让「虚连」坑了你

原理图画完了,你以为就完事了?不不不,最关键的一步来了——检查。

EDA工具里有个功能叫ERC(Electrical Rule Check),就是帮你检查有没有「飞线」、有没有「悬空引脚」、有没有「短路」。我每次画完原理图,都会跑一遍ERC,而且我会把警告级别调到最高。

我曾经犯过一个低级错误:DDR3的VREF电压引脚,我画了线但忘了连到电源网络。ERC报了个警告,我心想「应该没事吧」,结果板子回来DDR3死活初始化不了。查了两天才发现是VREF悬空了。嗯,从那以后我再也不敢忽略ERC警告了。

常见的检查项包括:

  • 未连接的引脚 —— 有些引脚确实可以悬空(比如NC脚),但最好加上「No Connect」标记。
  • 单点网络 —— 只有一根线连着一个引脚,另一端什么都没接。这通常是漏画了。
  • 总线连接不匹配 —— 比如地址总线有16根线,但芯片只接了12根,剩下的4根悬空了。
  • 电源短路 —— 不同电压的网络被连在了一起,比如3.3V和1.8V短路。
特别注意: 存储芯片的时序要求很严格。原理图上虽然看不出来时序,但电气连接的正确性是基础。如果连接都错了,时序再优化也没用。我建议在ERC之后,再人工过一遍关键信号,比如时钟、复位、片选。

好了,原理图设计的基础就这些。说白了就是:流程要规范、库要管好、符号要画对、检查要到位。下一章我们会深入讲存储芯片的电源设计,包括去耦电容怎么放、电源平面怎么切。到时候见。