fpga设计用高复位asic设计用低复位

1. ASIC

1.A 以前, 对于TTL和NMOS来说下拉驱动器都比它们的上拉驱动器强得多。 即使在现在,许多CMOS器件也具有比上拉更强的下拉功能。

1.B 低电平有效相对静态功率较小,而且反应速度快

1.C 使用低电平有效的一个小优点是只需要一个上拉电阻,而高电平有效则需要一个小的上拉电阻和一个较大的下拉电阻。 因此低电平有效可以节约一个晶体管。

1.D 上电时,复位保持在低电平更容易,而如果复位为高电平有效,系统会不稳定,直到复位阈值达到'1'。

2. FPGA

2.A 首先是最简单的回答, 因为xilinx用高电平复位如图

xilinx推荐用高电平复位

xilinx的这个回答很不亲民,“如果用低电平复位会增加LUT的使用来用作反相器”。 可是如果它的寄存器设计成低电平复位,那样不就不需要这个反向器了么。究其深层次的原因, 我们发现;

2.B 全局复位通常具有高扇出,因为它需要传播到设计中的每个触发器。这会消耗大量的路由资源,并可能对设备利用率和时序性能产生负面影响。而且全局复位会与设计中的其他网络竞争相同的路由资源。因此,FPGA设计师们提出了不依赖于完全全局复位的其他复位机制。

配置FPGA时,每个单元(包括触发器和Block RAM)都会初始化。因此,FPGA配置与全局复位具有相同的效果,因为它设置了每个存储的初始状态FPGA中的元素处于已知状态。借个图说话:

配置后的FPGA初始化

可以看出全局置位复位(GSR)信号是一种特殊的预置复位信号,可在配置FPGA时将设计保持在初始状态。配置完成后,GSR将被释放,所有触发器和其他资源现在都具有INIT值。除了在配置过程中操作它之外,用户设计还可以重用GSR端口来访问GSR网络。

但是这个回答仍不够完备,为啥不能用GSR高电平做配置,而低电平配合低电平寄存器来做复位呢;

2.C 看FPGA器件手册的时候一定会看到“支持x路时钟信号”。就像之前说过的一样, 像时钟,复位和使能信号都是具有高扇出,而且要求低偏差(low skew)的信号。 因此像它们的布线资源也是比较特殊的(一般叫做全局布线资源、 时钟布线资源或者low skew网络)。对于FPGA来说并不是哪一条网络连接所有时钟,另一条连接所有复位, 而是在全局网络中任何一条net都可以连接到时钟,复位和使能。 因此同一条net可以既连接寄存器A的时钟又连接寄存器B的复位同时还连接到寄存器C的使能。 如果使用复位低电平有效的话, 如果不做处理那么就要求B时钟下降沿有效而且C低电平使能,这样至少有一个要多加入一级反相器。

事实上,就算采用低电平复位有效的结构,设计综合软件的程序员也是可以解决的。 但是程序员不愿意啊。 因为在程序中概念的一致性是很重要的, 要么复位和使能高电平同时时钟上升沿, 要么低电平配合下降沿。不然要多加一级判断看系统信号是否为复位,然后取反。 而用户又喜欢常用上升沿驱动寄存器,所以FPGA多用高电平复位了。

结论: ASIC用低电平复位是由于硬件和物理方面的考量, 而FPGA用高电平复位就完全是程序员的任性了:)

为啥fpga设计用高复位asic设计用低复位呢? - 王狗蛋的回答 - 知乎 https://www.zhihu.com/question/286722289/answer/451862645

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着社会物质财富的日益增长,安全防盗已成为人们所关注的焦点。然而传统机械弹子 锁安全性,密码量少且需时刻携带钥匙使其无法满足一些特定场合的应用要求,特别 是在人员经常变动的公共场所,目前使用的电子密码锁主要有两个方案:一是基于单片 机用分立元件实现的,二是通过现代人体生物特征识别技术实现的,前者电路较复杂且 灵活性差,无法满足应用要求;后者有其先进性但需考虑成本和安全性等诸多因素。基 于此,本文设计了一种新型电子密码锁,采用FPGA芯片,目前以硬件描述语言(Verilo g 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AN D、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的F PGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加 完整的记忆块。 FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗 更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的 错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片 有比较差的可编辑能力,所以这些设计开发是在普通的FPGA上完成的,然后将设计转 移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。 1 系统功能描述   本设计主要实现以下六个功能:   (1)初始密码设置:系统上电后输入4位数字并按"*"后密码设置成功系统进入 上锁状态。为了实际需要,系统另设置了一个4位数的优先级密码,当用户忘记密码或被 他人更改密码后,可以用优先级密码清除所设密码。   (2)密码更改:为了密码安全与避免误操作,只能在开锁状态下先输入旧密码 后才能更改系统密码,然后输入4位新密码后按"*"。   (3)解锁:输入密码或优先级密码后按"#",系统即解锁。   (4)密码保护:密码输入错误时,系统自动记录一次错误输入,当错误输入次 数等于3次时,系统报警并使键盘失效5分钟,以免密码被盗。   (5)清除输入错误:当输入数位小于4位时可以按"*"清除前面所有的输入值, 清除为"0000"。   (6)系统复位:按"*"和"#"后系统即复位到初始状态。考虑到实际情况,系统 只在密码更改状态和系统初始状态下才能复位。 2 系统设计思路   VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件 特征的语句外,VHDL的语言形式、描述风格以与语法是十分类似于一般的计算机高级语 言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电 路模块或一个系统)分成外部(或称可视部分,与端口)和部(或称不可视部分),既 涉与实体的部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其部开 发完成后,其他的设计就可以直接调用这个实体。   本文采用自顶向下的模块化设计方法,先对系统级进行功能描述,再进行功能模 块的划分,最后分别对各个子模块进行VHDL建模。所设计的电子密码锁系统结构如图1所 示。 键盘消抖 键盘编码 输入处理 显示 系统控制 键盘矩阵 时钟与扫描 图1 系统结构图  2.1 时钟产生模块   此模块主要功能是产生时钟信号和键盘扫描信号。主要产生三个时钟信号(16 Hz、64 Hz、100 kHz),分别为系统各个功能模块提供时钟驱动信号。其中键盘扫描模块包括在时钟产生 模块中,用来产生扫描信号。由于要产生多个时钟信号。 密码输入一般采用机械式和触摸式两种键盘。由于机械式键盘具有成本、结构简单 、可靠性高、应用广泛等优点,其按键分布与键值编码如图2所示。其中'*'、'#'为多功 能组合键。键盘扫描电路用来产生扫描信号KH,其按照1110-1101-1011- 0111的规律循环变化,并通过KC来检测是否有键按下。其他键也是类似原理。特别值得 注意的是键盘扫描电路扫描时钟的确立,如果扫描时钟不合适,将产生键按下时反应太 慢,或KC产生错误的输出。  2.2 按键消抖模块   本设计采用机械键盘,其缺点是易产生抖动,因此键盘输出KC[20]必须经过消抖 电路后才能加入到键盘编码模块,以避免多次识别。此模块采用状态机设计,其状态转 换图如图3所示。只有当连续检测到3次电平输入,模块才输出一次电平。消抖电路 的时钟选择很关键,选择不当则不能正常工作。因为键盘扫描电路的时钟是16 Hz且扫描信号为4组循环输出,所以消抖电路要能够在4个键盘扫描时钟检测出是否有键 按下就必须设置其时钟信号至少为键盘扫描时钟的4倍。 2.3 键盘编码模块   上述的键
1. 2 2. 什么是同步逻辑和异步逻辑? 2 3. 同步电路和异步电路的区别: 2 4. 时序设计的实质: 2 5. 建立时间与保持时间的概念? 2 6. 为什么触发器要满足建立时间和保持时间? 2 7. 什么是亚稳态?为什么两级触发器可以防止亚稳态传播? 2 8. 系统最高速度计算(最快时钟频率)和流水线设计思想: 2 9. 同步复位和异步复位的有何区别? 3 10. 写出一段代码,用来消除亚稳态。 3 11. 写出一段代码,对时钟进行3分频。 4 12. 设计一个glitch free的时钟切换电路逻辑,比如从20m切到50m,讲明理由。 4 13. 如何跨时钟域同步多位信号?有哪些技术? 4 14. 异步FIFO为什么用格雷码 5 15. 时序约束的概念和基本策略? 5 16. 附加约束的作用? 6 17. 锁存器(latch)和触发器(flip-flop)区别? 6 18. FPGA 芯片内有哪两种存储器资源? 6 19. 什么是时钟抖动? 6 20. FPGA 设计中对时钟的使用?(例如分频等) 6 21. IC 设计中同步复位与异步复位的区别 6 22. MOORE 与 MEELEY 状态机的特征 6 23. FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项? 6 24. 什么是竞争与冒险现象?怎样判断?如何消除? 7 25. 查找表的原理与结构 7 26. 寄生效应在IC设计中怎样加以克服和利用 7 27. 设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零, 7 28. 数字IC(ASIC设计流程: 8 29. SERDES的高速串行接口 8 30. 什么是状态编码技术? 解释一下。 8 31. FIFO简单讲解(*) 9 32. IC设计前端到后端的流程和EDA工具? 12 33. FPGA设计中如何实现同步时序电路的延时? 12

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值