前言:

无数昼夜的来回轮替以后,这本《驱动篇I》终于编辑完毕了,笔者真的感动到连鼻涕也流下来。所谓驱动就是认识硬件,还有前期建模。虽然《驱动篇I》的硬件都是我们熟悉的老友记,例如UART,VGA等,但是《驱动篇I》贵就贵在建模技巧的升华,亦即低级建模II。

话说低级建模II,读过《建模篇》的朋友多少也会面熟几分,因为它是低级建模的进化形态。许久以前,笔者就有点燃低级建模II的念头,但是懒惰的性格让笔者别扭许久。某天,老大忽然说道:“让咱们大干一场吧! ”。就这样,Alinx计划开启,这本《驱动篇I》也成为吉利开红炮。

《驱动篇I》涉及的硬件可谓是大杂烩,例如经典的流水灯,折磨死人的SDRAM,暴力的SD Card等,内容尽是一些平民硬件。虽然,它们曾在其它教程露脸过,但是结果都卡在一半,处于不上不下那种,说起来还真是不好意思,因为笔者当时年少无知嘛。因此,笔者尽可能为《驱动篇I》补足每一项解释以及时序。

老实说,《驱动篇I》更加钟情解释时序,提高代码的解读能力,减少连线,应用通用结构等小细节,古人不是说过什么细节决定成败。所以说,笔者宁愿在细节上加好料,也不要太啰嗦硬件。期间,如果发现什么地方存在忽略,请读者大人原谅懒惰的笔者。手册是读者的好朋友。

在此,笔者需要说声抱歉。《驱动篇I》是偏向实用性的教程,同时也是综合性质的教程,多少也会缺少一丝温柔。因为《驱动篇I》不会一点一滴给大伙解释,更多仅挑重点而已。入门的同学读起来可能会觉得痛苦,这种感觉好比一口气消化几块切糕。如果读者真的痛苦万分,读者可以回顾《Verilog HDL那些事儿》系列的教程,它可能更加适合。最后,愿大家建模愉快!

目录:

实验一:流水灯模块

实验二:按键模块① - 消抖

实验三:按键模块② — 点击与长点击

实验四:按键模块③ — 单击与双击

实验五:按键模块④ — 点击,长点击,双击

实验六:数码管模块

 

【黑金原创教程】【FPGA那些事儿-驱动篇I 】连载导读的更多相关文章

  1. [黑金原创教程] FPGA那些事儿《设计篇 III》- 图像处理前夕·再续

    简介 一本为入门图像处理的入门书,另外还教你徒手搭建平台(片上系统),内容请看目录. 注意 为了达到最好的实验的结果,请准备以下硬件. AX301开发板, OV7670摄像模块, VGA接口显示器, ...

  2. [黑金原创教程] FPGA那些事儿《设计篇 II》- 图像处理前夕·续

    简介 一本为入门图像处理的入门书,另外还教你徒手搭建平台(片上系统),内容请看目录. 注意 为了达到最好的实验的结果,请准备以下硬件. AX301开发板, OV7670摄像模块, VGA接口显示器, ...

  3. [黑金原创教程] FPGA那些事儿《设计篇 I》- 图像处理前夕

    简介 一本为入门图像处理的入门书,另外还教你徒手搭建平台(片上系统),内容请看目录. 注意 为了达到最好的实验的结果,请准备以下硬件. AX301开发板, OV7670摄像模块, VGA接口显示器, ...

  4. [黑金原创教程] FPGA那些事儿《数学篇》- CORDIC 算法

    简介 一本为完善<设计篇>的书,教你CORDIC算法以及定点数等,内容请看目录. 贴士 这本教程难度略高,请先用<时序篇>垫底. 目录 Experiment 01:认识CORD ...

  5. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】原创教程连载导读【连载完成,共二十九章】

    前言: 无数昼夜的来回轮替以后,这本<驱动篇I>终于编辑完毕了,笔者真的感动到连鼻涕也流下来.所谓驱动就是认识硬件,还有前期建模.虽然<驱动篇I>的硬件都是我们熟悉的老友记,例 ...

  6. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二:按键模块① - 消抖

    实验二:按键模块① - 消抖 按键消抖实验可谓是经典中的经典,按键消抖实验虽曾在<建模篇>出现过,而且还惹来一堆麻烦.事实上,笔者这是在刁难各位同学,好让对方的惯性思维短路一下,但是惨遭口 ...

  7. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验七:PS/2模块① — 键盘

    实验七:PS/2模块① — 键盘 实验七依然也是熟烂的PS/2键盘.相较<建模篇>的PS/2键盘实验,实验七实除了实现基本的驱动以外,我们还要深入解PS/2时序,还有PS/2键盘的行为.不 ...

  8. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十:PS/2模块④ — 普通鼠标

    实验十:PS/2模块④ - 普通鼠标 学习PS/2键盘以后,接下来就要学习 PS/2 鼠标.PS/2鼠标相较PS/2键盘,驱动难度稍微高了一点点,因为FPGA(从机)不仅仅是从PS/2鼠标哪里读取数据 ...

  9. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写

    实验十八:SDRAM模块① — 单字读写 笔者与SDRAM有段不短的孽缘,它作为冤魂日夜不断纠缠笔者.笔者尝试过许多方法将其退散,不过屡试屡败的笔者,最终心情像橘子一样橙.<整合篇>之际, ...

随机推荐

  1. python文件选择:tkFileDialog 基础

    tkFileDialog有两种形式: 一个是.askopenfilename(option=value, ...) 这个是"打开"对话框 另一个是:asksaveasfilenam ...

  2. vimium: 浏览器神器

    chrome firefox 都有 vimium (firefox 中为vimfx), 快捷键也差不多 下边是chrome中快捷键示意图: G = shift + g (其他同理) c+e = ctr ...

  3. elixir 高可用系列 - 目录

    1. elixir 高可用系列(一) Agent 2. elixir 高可用系列(二) GenServer 3. elixir 高可用系列(三) GenEvent 4. elixir 高可用系列(四) ...

  4. C#函数式编程之惰性求值

    惰性求值 在开始介绍今天要讲的知识之前,我们想要理解严格求值策略和非严格求值策略之间的区别,这样我们才能够深有体会的明白为什么需要利用这个技术.首先需要说明的是C#语言小部分采用了非严格求值策略,大部 ...

  5. TypeScript:基本类型和接口

    返回TypeScript手册总目录 基本类型(Basic Types) 为了让程序可以使用,我们需要用到一些最简单的数据单元:数字,字符串,结构,布尔值,诸如此类.在TypeScript中,支持许多正 ...

  6. DDD领域驱动设计之运用层代码

    1.DDD领域驱动设计实践篇之如何提取模型 2.DDD领域驱动设计之聚合.实体.值对象 3.DDD领域驱动设计之领域基础设施层 4.DDD领域驱动设计之领域服务 5.整体DEMO代码 什么是运用层,说 ...

  7. jenkins插件 build timeout和build timestamp

    build timeout plugin, 允许对job设置timeout时间,当超时时,job将abort. build timestamp pluin,使得job log的每次输出前面都增加当时的 ...

  8. 简单理解ECMAScript2015中的箭头函数新特性

    箭头函数(Arrow functions),是ECMAScript2015中新加的特性,它的产生,主要有以下两个原因:一是使得函数表达式(匿名函数)有更简洁的语法,二是它拥有词法作用域的this值,也 ...

  9. [数据库]SQL中Group By 的常见使用方法.

    前言今天逛java吧看到了一个面试题, 于是有了今天这个文章, 回顾下Group By的用法.题目如下:Select name from table group by name having coun ...

  10. Atitit.java expression fsm 表达式分词fsm引擎

    Atitit.java expression fsm 表达式分词fsm引擎 C:\0workspace\AtiPlatf_cms\src\com\attilax\fsm\JavaExpFsm.java ...