zoukankan      html  css  js  c++  java
  • 时序电路—之锁存器

    verilog中if与case语句必须完整,即if要加上else,case后要加上default语句,以防止锁存器的发生,接下来就来说说其中原因。

    一,什么是锁存器?锁存器与触发器的区别。http://www.eefocus.com/liuyuxue/blog/13-11/300280_d7008.html

      锁存器与触发器最大的区别在于,锁存器是电平触发,而触发器是边沿触发。锁存器在不锁存数据时,输出随输入变化;但一旦数据锁存时,输入对输出不产生任何影响。

    锁存器和触发器区别

    http://wenku.baidu.com/link?url=co1YvI0Ktb7sItCPzqNXiy7SXyWigv7uAnWaL3EtOT_7T7XsYOXIcfCTlYvlqPgPhy3bBpbeiQAcM2hVAUbK9qiJxRI3F0JctHaLCsWrYiS(写的挺好的)

    二,为什么语句的不完整会导致锁存器的产生?

    解:

    老阮 (2014-10-21 19:30:10)
    1、时序电路,生成触发器,触发器是有使能端的,使能端无效时数据不变,这是触发器的特性。
    2、组合逻辑,由于数据要保持不变,只能通过锁存器来保存。
    楼主位的第二个代码就是在enable为低时,数据不变,因此要生成锁存器。 第一个代码,由于是时序逻辑,生成的触发器在enable无效时就可以保存数据。跟锁存器无关。
     
    个人理解: 所谓生成latch其实是针对使用always语句描述一个组合逻辑而言,因为如果描述时序逻辑总是使用时钟或者时钟+复位作为敏感列表条件,所生成的电路总是组合逻辑+DFF;如果是描述组合逻辑,敏感列表中必然没有时钟复位,而是组合逻辑的输入信号。在FPGA设计,避免使用latch,不利于时序分析和仿真。 楼上有提到latch比DFF省资源, 这个在FPGA设计中其实还好, 因为在FPGA中DFF就是一个专用的硬件资源,并且数量也比较多。

    使用always描述组合逻辑时,好的习惯是使用always @(*)作为敏感列表, 并且需要检查每个分支都有明确的赋值,从而避免生成latch.
     
    我是这么理解的,在一份资料看的,
    时序电路=组合逻辑电路+储存电路;
    储存电路有两个:锁存器(latch)和触发器;
    边沿触发产生触发器,
    电平触发产生锁存器,
    多个触发器组成寄存器,

    当描述的是时序电路,寄存器变量对应的寄存器,
    描述的是完整的组合逻辑电路,对应为硬件连线,
    当描述的是不完整组合逻辑,则寄存器对应的是锁存
     
     
     
    总结:
    1,存储单元按照触发的方式分为电平触发和边沿触发,电平触发的为锁存器,边沿触发的触发器。                                                                                                     2,对于if,case的完整性,@老阮已经说的很清楚了,在FPGA建议使用触发器。                                                                                                                                                                                                                                                
     
  • 相关阅读:
    NBUT 1120 Reimu's Teleport (线段树)
    NBUT 1119 Patchouli's Books (STL应用)
    NBUT 1118 Marisa's Affair (排序统计,水)
    NBUT 1117 Kotiya's Incantation(字符输入处理)
    NBUT 1115 Cirno's Trick (水)
    NBUT 1114 Alice's Puppets(排序统计,水)
    188 Best Time to Buy and Sell Stock IV 买卖股票的最佳时机 IV
    187 Repeated DNA Sequences 重复的DNA序列
    179 Largest Number 把数组排成最大的数
    174 Dungeon Game 地下城游戏
  • 原文地址:https://www.cnblogs.com/rrttp/p/5945082.html
Copyright © 2011-2022 走看看