IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 数字12 设计小记 -> 正文阅读

[嵌入式]数字12 设计小记

Spare cell

是闲置逻辑单元的意思,在想要添加简单功能时,后端人员简单修改网表中的spare cell后可直接进行place&route,不需要重复进行综合。

例如,想要在电路中添加一个与门,直接将一个spare cell在网表中改成与门,然后对应连线,就可以实现功能。

超前进位

对于计数器,提高其工作频率的方法之一,是进行超前进位操作。

例如,对于一个32位的计数器,可以分为2个16位的计数器,低位的计数器在计数至0xfffe时,产生一个进位信号送到一个D触发器,在低位的计数器全满的同一时刻,D触发器的输出将进位信号同时给到高位的计数器,以实现功能。这样进位逻辑链就会被这个D触发器隔断,以达到减小触发器之间逻辑路径的目的。

One time program

Otp是一种特定功能的电路,它常用于存储一些IC出厂后就不再改变的配置信息,只烧写一次,可无限次读出。

例如,某些芯片的时钟频率是不改变的,但是它的时钟频率需要通过某些配置确定,晶圆厂中,会通过测试来确定这些配置,配置确定后,将配置写入otp电路,以此达到后续方便使用的目的。在芯片后续的每次上电时,都会从otp中读取配置,以正常工作。

Pin balance

对于同一时钟频率下的某些总线,时序上期望所有bit都在同一个时钟沿改变,但是因为走线长度、引脚位置等因素的不同,肯定会引起一定的时间前后差异,为了约束这一现象,pin balance规定,这些线的数据到达时间之间的差异不能超过某个值。

例如,设置pin balance为2ns,此时有一组总线是2根线,第一根数据到达时间16ns,第二根数据到达时间19ns,此时就是balance违例,工具需要修改,要么让第一根线的长度变长,时间变晚,要么让第二根线的长度缩短,时间变早,以满足balance要求。

Input /output delay

对于芯片内部D触发器来说,如果它的输入或者输出是与pin相连接,那么就意味着他可能会与外部的其他电路的D触发器有交互,此时,它的时序就需要使用input/output delay来约束。

做这个约束的目的,是告诉工具,某个pin的外部的延时时间最大会有多少。

例如,图中的M,芯片是不知道它的延时是多少的,我们人为预估设置这一延时,一般设置为40%,意义是该延迟最大可能是时钟周期的40%,假设时钟周期50ns,那么input delay最大是20ns,为了正常工作,此时内部信号延时就不可以大于30ns,否则,在外部的D触发器在前一个时钟沿输出的数据,内部的D触发器就有可能无法在后一个时钟沿取得数据。工具会约束内部的信号走线长度,以满足这一约束。同理输出延时也是类似的推理过程。

ESD与电路

ESD测试时,会引起数字电路中数据的随机跳变,假设某一控制信号是一种特别重要的控制,会影响整个系统的稳定性,那么这一控制信号的跳变条件需要设置得更加严格,为的是在ESD时,这一控制信号不随便跳变。

例如,假设某一个信号原本的跳变条件是A==1时跳变,那么在ESD时,A随机跳动,很容易触发这一条件。如果将它的跳变条件改为A==101010101,此时,就不容易被触发了,因为A随机跳动,也只有非常小的概率会正好跳在101010101这个情况。

当然,此时需要将A重新定义为多bit信号。

初步验证

?????? 在rtl设计初期,在不使用UVM验证的情况下,如何用尽量少的case达到更多的覆盖率。我想记录几个要点。

  1. 边界条件验证。
  2. 1和0重复出现的数据传输。
  3. 情况2的取反。
  4. 控制信号的正确跳变与否。
  5. 波形记录时钟、case、时间。
  6. 典型应用场景。

划分模块的原则

  1. 运算与控制分开
  2. 可重用的模块单独设计
  3. 时钟控制单独模块
  4. 复位控制单独模块

物理层与协议层

?????? 对于常用的接口,都可以划分常物理层和协议层。物理层只进行数据的接收,并不对其进行解析。

?????? 协议层会解析物理层接收到的数据,根据数据内容决定指令操作内容,大部分指令还会有加密和校验的内容。

技术成长规划

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:15:52  更:2022-04-01 00:16:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:20:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码