2.IO类型选择
主要考虑四个方面,首先当然是继承上颗优秀芯片的选择,毕竟是经过量产保证的。由于人员流动,很多技术方面的考虑不一定能够完整继承下来。能弄清楚的错误当然可以改过来,很多貌似不合理的选择有时候隐藏着很偏僻的考虑,一不小心就在某种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 (待续)相关推荐

  1. Low Power Design in SoC Using Arm IP

    Low Power Design in SoC Using Arm IP Documentation – Arm Developer Documentation – Arm Developer By ...

  2. 【数字IC验证快速入门】2、通过一个SoC项目实例,了解SoC的架构,初探数字系统设计流程

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  3. Linux内核中的GPIO系统之(3):pin controller driver代码分析

    一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...

  4. pin controller driver代码分析

    一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...

  5. Synopsys Design Compiler基础

    目录 引言 综合环境 启动文件 系统库变量 DC设计对象.变量和属性 对象 变量 属性 找寻设计对象 数据组织 引言 Synopsys Design Compiler (DC) 和 Design Vi ...

  6. [硬件]导热垫(Thermal Pad)和导热过孔(Via for thermal pad)

    什么是导热垫,导热过孔? PCB散热垫中的散热孔通常用于将热量从器件传导出去,并有效地将热量从PCB的顶部铜层传递到内部或底部铜层或外部环境. Thermal vias in the PCB ther ...

  7. 如何将自己写的verilog模块封装成IP核(一)

    平台与材料 一个写好的工程,综合通过,不用布局布线,ISE或Vivado皆可.如果是ISE,需要在properties里取消选中 iobuf .这样就只能被当做内部模块调用了. Vivado 步骤 打 ...

  8. bufg和bufgp_如何将自己写的verilog模块封装成IP核(一)

    平台与材料 一个写好的工程,综合通过,不用布局布线,ISE或Vivado皆可.如果是ISE,需要在properties里取消选中 iobuf .这样就只能被当做内部模块调用了. Vivado 步骤 打 ...

  9. 【正点原子Linux连载】第四十五章 pinctrl和gpio子系统实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  10. 焊盘、封装、电路板的创建

    焊盘制作 封装制作 电路板创建 焊盘制作 1.制作SMD表贴焊盘 2.制作规则FLASH 3.制作螺丝孔 4.制作通孔焊盘带FLASH 5.制作通孔焊盘无FLASH 1.制作SMD表贴焊盘 (1)打开 ...

最新文章

  1. 《Spring Cloud微服务架构开发实战》_董超笔记
  2. MAVEN [ERROR] 不再支持源选项 5。请使用 7 或更高版本。
  3. Android IOS WebRTC 音视频开发总结(八十七)-- WebRTC中丢包重传NACK实现分析
  4. 修改node_modules的包
  5. fn:startsWith()函数
  6. Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)
  7. c语言汉诺塔问题详解
  8. 用C语言来写斐波那契数列
  9. 《福州往事》(抒情散文)
  10. git报错以及解决方法
  11. 17届华为杯数学建模大赛B题代码
  12. JAVA设计模式之调停者模式
  13. AMiner会议论文推荐第三十五期
  14. 【Mqtt】基于paho.mqtt.c库的mqtt客户端实现
  15. 四、文件管理(三)文件系统
  16. 毕业三到五年,别让“努力”毁了你--唯有提升个人实力才是王道
  17. 以下关于android应用程序的目录结构,以下关于Android应用程序的目录结构描述中,错误的是哪个()...
  18. 三维几何学基础(向量、点乘、叉乘、反对称矩阵)
  19. 用python写数据库的主从怎么写_scrapy 读写数据库
  20. Masterboxan INC智能化资产配置模式上线,全方位提升数字化金融服务

热门文章

  1. 全国青少年机器人技术等级考试标准 (三四级/arduino/mixly)
  2. 黑马程序员python入门学习笔记
  3. win7站点服务器配置,IIS 7.0安装配置方法图文教程(win7)
  4. win10计算机策略组在哪,win10家庭版的组策略在哪里打开
  5. hadoop常用端口号
  6. 计算机思维导图ppt模板,经典PPT模版(含各类思维导图).ppt
  7. web测试点和app测试点
  8. python 实现读取图片的像素值。
  9. navicat 绿化版
  10. 软考计算机硬件知识,软考程序员考点计算机硬件基础知识之指令系统