PIN/PAD Design in SoC - 2 (待续)
主要考虑四个方面,首先当然是继承上颗优秀芯片的选择,毕竟是经过量产保证的。由于人员流动,很多技术方面的考虑不一定能够完整继承下来。能弄清楚的错误当然可以改过来,很多貌似不合理的选择有时候隐藏着很偏僻的考虑,一不小心就在某种cornercase下摔个跟头。好吧,大家哈哈一笑算了,谁让俺是个阴谋论者呢,哈哈!
如果是inputIO的话,需要考虑一下是否是毛刺敏感的信号,是否需要用带有施密特功能的IO,例如芯片的外部复位。这种IO的其它功能可能会受限。
再有就是outputIO的驱动能力的考虑。驱动能力小了当然有问题,可能无法正常驱动外设;大了可能会增大SSN,即所谓同时翻转噪声,也叫SSO效应,会增加IO电源的负担。驱动能力的评估要考虑IO上的负载大小,查查外设芯片的相关pin的负载可以计算出来。评估SSN,一是可以建立spice模型做个仿真(数字前端工程师真是万能啊,连spice都得会),二是简单计算一下sumof driving factor (SDF),具体计算过程就是些加减乘除,可以参考IO的appnote,相比spice计算是简单多了。一般来说,除了SDR/DDR等高速数字接口外,其它不那么快的用excel做个表格把SDF计算计算也就行了。
最后一点就是IO内部的上拉、下拉选择。IO内部之所以有这些pull电阻,主要是防止PIN/PAD浮空时,从IO输出到芯片内的信号可以有个固定值,防止内部逻辑乱掉。有些库的IO的电阻是可以使能的,有些不可以。但一般都是只能选择有上拉电阻或者下拉电阻,在这两种之间选择时,需要考虑芯片将来安装到PCB上时,这个IO外部会有哪种pull,保持一致就好了。
打住,一个IO的选择搞得跟找对象一样,太离谱了,其实合适最好。
待续
写到最后忽然想起来个事情,就是在IO mux中,曾经有个同事把这些mux组合逻辑全部改写成了alwaysblock,看起来code清爽了许多,貌似比assign后面跟若干层嵌套的?():()好看?这就是仁者见仁智者见智了。
PIN/PAD Design in SoC - 2 (待续)相关推荐
- Low Power Design in SoC Using Arm IP
Low Power Design in SoC Using Arm IP Documentation – Arm Developer Documentation – Arm Developer By ...
- 【数字IC验证快速入门】2、通过一个SoC项目实例,了解SoC的架构,初探数字系统设计流程
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
- Linux内核中的GPIO系统之(3):pin controller driver代码分析
一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...
- pin controller driver代码分析
一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...
- Synopsys Design Compiler基础
目录 引言 综合环境 启动文件 系统库变量 DC设计对象.变量和属性 对象 变量 属性 找寻设计对象 数据组织 引言 Synopsys Design Compiler (DC) 和 Design Vi ...
- [硬件]导热垫(Thermal Pad)和导热过孔(Via for thermal pad)
什么是导热垫,导热过孔? PCB散热垫中的散热孔通常用于将热量从器件传导出去,并有效地将热量从PCB的顶部铜层传递到内部或底部铜层或外部环境. Thermal vias in the PCB ther ...
- 如何将自己写的verilog模块封装成IP核(一)
平台与材料 一个写好的工程,综合通过,不用布局布线,ISE或Vivado皆可.如果是ISE,需要在properties里取消选中 iobuf .这样就只能被当做内部模块调用了. Vivado 步骤 打 ...
- bufg和bufgp_如何将自己写的verilog模块封装成IP核(一)
平台与材料 一个写好的工程,综合通过,不用布局布线,ISE或Vivado皆可.如果是ISE,需要在properties里取消选中 iobuf .这样就只能被当做内部模块调用了. Vivado 步骤 打 ...
- 【正点原子Linux连载】第四十五章 pinctrl和gpio子系统实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- 焊盘、封装、电路板的创建
焊盘制作 封装制作 电路板创建 焊盘制作 1.制作SMD表贴焊盘 2.制作规则FLASH 3.制作螺丝孔 4.制作通孔焊盘带FLASH 5.制作通孔焊盘无FLASH 1.制作SMD表贴焊盘 (1)打开 ...
最新文章
- 《Spring Cloud微服务架构开发实战》_董超笔记
- MAVEN [ERROR] 不再支持源选项 5。请使用 7 或更高版本。
- Android IOS WebRTC 音视频开发总结(八十七)-- WebRTC中丢包重传NACK实现分析
- 修改node_modules的包
- fn:startsWith()函数
- Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)
- c语言汉诺塔问题详解
- 用C语言来写斐波那契数列
- 《福州往事》(抒情散文)
- git报错以及解决方法
- 17届华为杯数学建模大赛B题代码
- JAVA设计模式之调停者模式
- AMiner会议论文推荐第三十五期
- 【Mqtt】基于paho.mqtt.c库的mqtt客户端实现
- 四、文件管理(三)文件系统
- 毕业三到五年,别让“努力”毁了你--唯有提升个人实力才是王道
- 以下关于android应用程序的目录结构,以下关于Android应用程序的目录结构描述中,错误的是哪个()...
- 三维几何学基础(向量、点乘、叉乘、反对称矩阵)
- 用python写数据库的主从怎么写_scrapy 读写数据库
- Masterboxan INC智能化资产配置模式上线,全方位提升数字化金融服务
热门文章
- 全国青少年机器人技术等级考试标准 (三四级/arduino/mixly)
- 黑马程序员python入门学习笔记
- win7站点服务器配置,IIS 7.0安装配置方法图文教程(win7)
- win10计算机策略组在哪,win10家庭版的组策略在哪里打开
- hadoop常用端口号
- 计算机思维导图ppt模板,经典PPT模版(含各类思维导图).ppt
- web测试点和app测试点
- python 实现读取图片的像素值。
- navicat 绿化版
- 软考计算机硬件知识,软考程序员考点计算机硬件基础知识之指令系统