• 时序逻辑、组合逻辑,我不再怕你了


    时序逻辑、组合逻辑,我不再怕你了

     转自http://www.cnblogs.com/crazybingo/archive/2010/08/01/1789740.html

    学FPGA也这么久了,会了VHDL,那时候没有时序逻辑、组合逻辑的概念;之后又会了Verilog,一开始还是没有理解时序逻辑、组合逻辑,做东西的时候,发现总是有缺陷。

    曾经有次因为4.3inch LCD遇到过郁闷的问题,像素点用时序逻辑和组合逻辑都可以,但是不知道到底用什么;再者,精确到点的时候,两种写法会有不同的效果,但是我不理解……

    曾经一度问过我EDA老师,他竟然这样说了一句话:“时序逻辑、组合逻辑是Verilog硬件描述语言设计中最难的部分,很多高级工程师甚至没搞清楚这一点……”

    我灰常的郁闷……竟然这样的答案……

    这些天调试VGA,像素点的绝对精确,一次一次的尝试,我终于理解了时序逻辑、组合逻辑了,以后不用怕了哈哈……

    其实,组合逻辑: always@ (敏感信号)或者 always @ *,组合逻辑相当于组合电路,与或非门组成的电路,其输出至于当前状态有关,与其他输入状态的函数无关,不涉及信号调变处理(组合逻辑竞争冒险 : 只要输入信号同时变化,组合逻辑就必然产生毛刺);

    而时序逻辑:always @(跳变时钟)是时序电路,其输出不仅仅与当前状态有关,只有在时钟跳变的时候才会变化,其最简单的模型相当于DFF,D触发器。

    在VGA驱动设计中,HS,VS等都是时序逻辑,其相当于hcnt,vcnt刚好滞后了一个时钟周期;而xpos,ypos是hcnt,vcnt的组合逻辑,与时钟同步;在第二个模块中,通过判断xpos,ypos来给定RGB,这又是时序逻辑,刚好滞后了一个时钟周期。因此,一前一后,HS,VS和RGB像素点,刚好达到了同步,当然必须保证判断到xpos,ypos后的RGB输入为组合逻辑,因为其至于当前状态有关(此处原因已在《时序逻辑__滞后一个像素》这一章节中讲到)。

    很多人看书,看书,while(1){看书};看不懂组合逻辑,时序逻辑;

    现在想来,只要你理解其中的内涵,就能运用自如哈哈……

  • 相关阅读:
    .NET开源项目
    关于微信号的校验
    java 中关于synchronized的通常用法
    关于java 定时器的使用总结
    新的博客已经启用,欢迎大家访问(402v.com)
    Hadoop综合大作业
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
    第三章 熟悉常用的HDFS操作
  • 原文地址:https://www.cnblogs.com/adxiaowei/p/4029868.html
Copyright © 2020-2023  润新知