zoukankan      html  css  js  c++  java
  • 我要做CPU_3

    我要做CPU_3

    1.中断优先级同步信号

    此同步信号和一个叫GPIO_DEBOUNCE_EN的宏定义有关系,如果没有使能,前端gpio接收到大数据直接传入int_level_sync_in,如果宏定义使能,则int_level_sync_in的每一位是分开控制的,并且和一个debounce_d2的寄存器有关系。

     

     2.generate_if语句

    再进行下一步之前,我们先要学习generate_if语句的语法。generate_for用于复制模块,而generate_if则是根据模块的参数(必须是常量)作为条件判断,来产生满足条件的电路。相当于判断语句。

     

    接下来我们会分析一个很大的generate_if语句块。

    如果消抖宏定义开启,将执行SUPPORT_DEBOUNCE_PROC块语句。

     如果宏定义未开启,则执行NO_SUPPORT_DEBOUNCE_PROC块语句。

     

     

    如果开启了宏定义:

    首先消抖时钟有一个复位信号,复位期间,缓存输入数据的寄存器会清零。

     

     输入数据直接缓存在gpio_rx_data_int_tmp寄存器中。

     

     不太明白为什么要这么做一个复位信号,暂且就认为是对输入数据的消抖处理吧,等9700K来了再做仿真吧。

     

     以下是对其它bit数据位相同的操作。

     

     

     

     将得到的debounce_d1再打一拍,便完成了端口数据的采集。

     

     本文除了要完成对消抖模块的仿真外,接下来还需要对dbclk,dbclk_rstn,scan_mode等信号的探究。

  • 相关阅读:
    谈一谈网站防盗链
    SEO优化步骤
    hls协议(最清晰的讲解)
    https比http到底那里安全?
    常见的php攻击(6种攻击详解)
    36)django-jsonp跨域
    35)django-验证码
    34)django-上传文件,图片预览功能实现
    33)django-原生ajax,伪ajax
    32)django-modelform
  • 原文地址:https://www.cnblogs.com/chensimin1990/p/12517406.html
Copyright © 2011-2022 走看看