Grayhill 072 16进制键盘扫描器的Verilog实现

2023-11-03

知识点

1)按键的机械原理,如何用一个module 模拟出按键的功能:体现的是抽象描述的能力;
2)同步装置,因为按键输入的是异步信号,必须经过同步;因为s_row 信号在经过同步装置后立马进入一个组合逻辑,为了消除潜在的冒险,这个例子中同步clk 选用下边沿驱动;
3)分配状态机的状态:从功能出发。在这个例子中的方案是,先col 全部置为1,检测是否有键按下;然后依次检测每一列;检测完成后,考虑到按键按的时间肯定长于clk, 所以要维持按键被选中的状态,直到键被释放;
启示:在编码之前首先要确定好操作方案;
4)测试方案在给基本信号的同时,要考虑可视性;

实现功能及具体结构

一个4*4的键盘输入信号,Grayhill 模块输出对应的码字。整体示意图结构如下:
在这里插入图片描述
当某一个按键按下时,会将相应的行列连通,相应的行输出一个高信号给Grayhill 模块。根据此示意图描述出更具体的电路模块图如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grayhill 072 16进制键盘扫描器的Verilog实现 的相关文章

  • 7 个建议让 Code Review 高效又高质

    简介 Code Review CR 的本质是什么 是为了查错 还是为了 KPI 本文分享阿里资深技术专家的看法 CR 是一种关于社会学的长期行为和组织文化 通过 CR 形成一种良性互动的技术氛围 传播和分享知识 提升代码质量 并给出了 7
  • 签约减碳计算模型背后:重新定义ESG

    如果将法大大比做电子签界的 支付宝 那么其减碳计算模型更像是 蚂蚁森林 向内输血 向外赋能 作者 斗斗 出品 产业家 纸张 打印 包装 运输 所有环节的碳排放因子被带入公式后 签约场景的碳排放清晰可见 至此 每一份合同的碳排放都有了清晰的度
  • L2-005 集合相似度 (25 分)

    题目 题目链接 题解 STL 一开始我用的map 由于使用其size函数 一直出错 我发现map的size函数很不稳定 我是定义的
  • 并行程序设计作业7/12

    这里用的是信号量 有需求可以改成其他的 首先要新开一个桶存起来 然后得到资源在写进结果数组 如果不这样多核会比单核还慢 因为写操作并没有优化 然后我这里用了map 如果桶编号大 每个核心结果离散度比较大时 用数组会慢很多 map在离散度大的
  • 快速排序(一)

    快速排序是冒泡排序 选择排序 插入排序 奇偶排序 归并排序 希尔排序中最快的排序 所以我们当然有必要去深入了解快速排序 我们首先来了解一下划分算法 何谓划分算法 其实就是以一个数为基准 枢纽 这个比枢纽大的数 把我们它放在数组的右边 这个比
  • Jscript 访问 Json文件

    通过 XMLHttpRequest 访问 Json 文件 我们存在文件结构 我想通过Js来访问Test json的文本 Json文本为 我们需要 1 创建一个 XMLHttpRequest 对象 var request new XMLHtt
  • 手机端页面自适应解决方案—rem布局

    相信很多刚开始写移动端页面的同学都要面对页面自适应的问题 当然解决方案很多 比如 百分比布局 弹性布局flex 什么是flex 也都能获得不错的效果 这里主要介绍的是本人在实践中用的最顺手最简单的布局方案 rem 什么是rem 布局 fun
  • 将yml文件导入conda,并连接到jupyter和pyCharm

    在GitHub上找了一篇文献 想复现一下 记录一下其中遇到的环境配置问题 我也不是很懂相关的操作 只是用来记录 如果我的操作有什么不必要或错误的地方 辛苦大家耐心指正 1 把yml文件安装到conda安装路径下的envs文件夹下 把cmd转
  • 加密算法(一)

    加密算法 参考 https blog csdn net qq 31878855 article details 69396791 加密算法分类 常见的加密算法可以分成两类 对称加密算法和非对称加密算法 对称加密算法 加密和解密用的是同一串密
  • 反卷积(Transposed Convolution, Fractionally Strided Convolution or Deconvolution)

    反卷积 Deconvolution 的概念第一次出现是Zeiler在2010年发表的论文 Deconvolutional networks 中 但是并没有指定反卷积这个名字 反卷积这个术语正式的使用是在其之后的工作中 Adaptive de
  • 记工作日常 - mysql 使用json格式 被dba拒绝执行

    首先 mysql版本在5 7以下是不支持json格式存储的 若使用json格式存储数据 在使用生成实体类的工具得到的文件字段类型为 object 场景 今天准备项目上线 在archery sql审核查询平台提交sql并进行审查 审查结果为
  • 微信小程序中的网络请求

    微信小程序中的网络请求 为了安全 微信小程序只能请求http类型接口 请求其他接口时必须将接口的域名添加到新人列表中 配置request合法域名 登录微信小程序管理后台添加链接描述 gt 开发 gt 开发设置 gt 服务器域名 gt 修改
  • Linux yum 命令介绍

    原文地址 http blog csdn net tianlesoftware article details 5092720 参考地址 http blog csdn net tianlesoftware article details 53
  • 小练习:三级菜单

    要求 1 运行程序输出第一级菜单 2 选择一级菜单某项 输出二级菜单 同理输出三级菜单 3 输入出错重新选择 4 进入每一层支持返回上一级和退出 5 入最后一层提醒 menu 001 011 111 1 1 1 211 2 2 2 311
  • GBase8s创建主键失败:[42000][-201] 发生语法错误 [00000]

    GBase8s创建主键失败 42000 201 发生语法错误 00000 问题描述 原因分析 解决方案 其他 参考链接 问题描述 场景描述 修改已存在表 添加主键失败 执行SQL ALTER TABLE 表名 ADD CONSTRAINT
  • 解决kali打开部分文件夹权限不够的问题

    其实非常简单 如图 右键 选择以root用户身份打开即可
  • GD32E23x的USART被断点打断后重新运行,会一直进入中断的问题

    GD32E23x的USART被断点打断后重新运行 会一直进入中断的问题 GD32E230K8单片机USART0连接一个从机芯片 该芯片每100ms发来一串16Bytes的数据 MCU中断接收 没有开启FIFO 只开启了RBNE 接收缓存非空

随机推荐

  • 关于STM32.. Error: L6218E: Undefined symbol xxxx(referred from xxxx.o).问题解决

    自己在编写有关利用CAN通讯 使用STM32控制电机旋转的代码中遇到了这一问题 错误应该是Can Send Msg这个函数在main中使用时没有定义 通过查找资料发现出现这一问题的主要原因有两个 1 未将头文件的路径导入 解决方法 将含有函
  • 人脸检测初级心得——分享一些比较易懂的经验与方法

    一 最重要的是一定一定 要谨慎一些 尤其是在安装配置深度学习环境时 尽量找一些比较好的教程跟着来 不要换教程 因为可能方法都不一样 导致环境安装失败 很头疼 二 我建议大家可以先不要着急 可以先看一些理论的知识 然后慢慢去实现 这样会理解的
  • 判断数组的方式(原型链,instanceOf)

    var arr 1 2 3 Array isArray arr true Object prototype toString call arr object Array arr constructor Array true arr inst
  • linux 提高文件读写速度 mmap,linux读写文件速度测试

    一 文件一次读入速度 linux下读文件这东西最后都是要通过系统调用sys read fd buf count 来实现的 所以如果要提高速度 就是最简单地调用sys read的封装 比如直接用read 或fread 下面是我在linux下的
  • 记一次javaMetaspace导致CPU200%的排查

    记一次javaMetaspace导致CPU200 的排查 1 场景 2 装arthas 3 分析代码 4 罪魁祸首 1 场景 insertMotionDataByWxCallBack方法并发多 其实也没多少 可能就3个 就导致CPU200
  • 校园网自动登录、断网重连

    校园网自动登录 断网重连 适用北航 其他学校可以照着模板自行修改 在ubuntu测试 windows应该也能用 需要下载chrome以及对应版本的chrome driver from selenium import webdriver fr
  • 数控加工插补功能指令

    1 G00 快速定位指令 格式 G00 XYZ 格式含义 G00 指令使刀具以点位控制方式从刀具当前点以最快速度运动到另一点 其轨 迹不一定是两点一线 有可能是一条折线 须知 1 刀具从上向下移动时 G00 XY Z 先定 XY 面 然后
  • vue.js -- 组件传值校验及单项数据流

    目录 组件间传值 静态传值 动态传值 params传值 传值校验 type校验 required校验 default校验 validator校验 单项数据流 总结 组件间传值 父子组件间传值 子组件通过props这个属性接受父组件传递过来的
  • 二十九、java版 SpringCloud分布式微服务云架构之Java 数据结构

    Java 数据结构 Java工具包提供了强大的数据结构 在Java中的数据结构主要包括以下几种接口和类 枚举 Enumeration 位集合 BitSet 向量 Vector 栈 Stack 字典 Dictionary 哈希表 Hashta
  • OpenCV 中的 remap 函数

    上一篇文章中提到 warpAffine 会分块处理 将坐标映射和插值系数分别存储下来 然后借助 remap 来实现最终的映射 而 remap 会根据映射关系取源像素并加权计算出目的像素值 其最核心的计算为 RemapVec 8u cv re
  • Python-leetcode1

    1 题目 给定一种规律 pattern 和一个字符串 str 判断 str 是否遵循相同的规律 这里的 遵循 指完全匹配 例如 pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律 示例1 输入 pat
  • MATLAB——讨论系统的极点位置对系统响应的影响

    题目1 研究z右半平面的实数极点对系统响应的影响 已知系统的零 极点增益模型分别为 H 1 z z
  • win7+vue+element-ui初始化

    win7最高支持nodejs13 14版本 vue cli脚手架版本不能过高 我这边安装的是4 5 13的版本 1 卸载原有的vue cli 原版本为2 9 6 npm uninstall g vue cli 2 安装最新版的vue cli
  • 【DL】第8章 序列到序列的映射

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • file转化为binary对象发送给后台

    具体代码如下 function filechange e var file filed get 0 files 0 var fileSize file size fileType file type if file name lastInd
  • 微信公众帐号开发教程第1篇-引言 .

    接触微信公众帐号已经有两个多月的时间了 在这期间 除了陆续完善个人公众帐号xiaoqrobot以外 还带领团队为公司开发了两个企业应用 一个是普通类型的公众帐号 另一个是会议类型的公众帐号 经过这3个公众帐号的开发 对目前微信公众平台开放的
  • 二叉树之小球下落问题(js)

    有一棵二叉树 最大深度为D 且所有叶子的深度都相同 所有结点从上到下从左到右编号为1 2 3 2 D 1 在结点1处放一个小球 它会往下落 每个内结点上都有一个开关 初始全部关闭 当每次有小球落到一个开关上时 它的状态都会改变 当小球到达一
  • HDFS——如何将文件从HDFS复制到本地

    下面两个命令是把文件从HDFS上下载到本地的命令 get 使用方法 Hadoop fs get ignorecrc crc 复制文件到本地文件系统 可用 ignorecrc选项复制CRC校验失败的文件 使用 crc选项复制文件以及CRC信息
  • windows网络模型

    完成端口 详解 解释的不错 http blog csdn net beyond cn article details 9336043 Windows Socket五种I O模型 http www cppblog com beautyking
  • Grayhill 072 16进制键盘扫描器的Verilog实现

    知识点 1 按键的机械原理 如何用一个module 模拟出按键的功能 体现的是抽象描述的能力 2 同步装置 因为按键输入的是异步信号 必须经过同步 因为s row 信号在经过同步装置后立马进入一个组合逻辑 为了消除潜在的冒险 这个例子中同步