自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (4)
  • 收藏
  • 关注

原创 Verilog和FPGA的自学笔记10——同步有限状态机(FSM)

本文介绍了FPGA中状态机的基本原理与实现方法。重点讲解了三段式状态机的典型结构,包括状态寄存器、下一状态组合逻辑和输出组合逻辑三个部分,并给出了经典计数器代码示例。文章还对比了Grey码和独热码两种状态编码方式,分析了摩尔状态机和米勒状态机的区别,指出摩尔状态机的输出仅取决于当前状态,而米勒状态机还与输入信号相关。全文采用从实例入手的讲解方式,帮助读者循序渐进地理解状态

2025-11-05 08:30:51 858

原创 Verilog和FPGA的自学笔记9——呼吸灯

本文分享了使用FPGA实现呼吸灯的详细过程。通过分析PWM原理,将亮度控制分解为2us、2ms和2s三级计数器,并比较了不同清零方式的代码实现差异。文章提供了完整的Verilog代码,包括模块定义、计数器设计和LED控制逻辑,强调了避免多驱动源等常见错误。通过这个小项目,作者展示了计数器在嵌入式系统中的灵活应用,并分享了从软件思维转向硬件设计的经验体会。

2025-11-01 20:34:30 751 2

原创 Verilog和FPGA的自学笔记8——按键消抖与模块化设计

本文分享了Verilog实现按键消抖与LED控制的实践过程。作者通过模块化设计将系统分为顶层模块、按键消抖模块和LED控制模块,采用边沿检测技术提取按键信号,并通过同步时序设计实现稳定可靠的按键消抖功能。文章详细讲解了Verilog中的同步时序设计思想、边沿检测原理以及模块化编程方法,同时对比了不同实现方式的优劣,为FPGA初学者提供了实用的开发思路和经验总结。

2025-10-31 19:24:29 795

原创 Verilog和FPGA的自学笔记7——流水灯与时序约束(XDC文件的编写)

本文探讨了FPGA实现流水灯的设计思路,分析了延时逻辑的实现方法,详细讲解了时序约束的基本概念,包括时钟约束和管脚约束的语法格式及参数含义,为FPGA初学者提供了实用的设计指导。

2025-10-20 12:24:11 933

原创 Verilog和FPGA的自学笔记6——计数器(D触发器同步+异步方案)

本文介绍了Verilog中的阻塞与非阻塞赋值,异步和同步二进制计数器的实现原理。通过D触发器构建的异步计数器利用分频原理实现二进制计数,而同步计数器则通过异或门和与门的巧妙组合实现。文章提供了详细的代码示例和仿真验证方法,帮助读者理解硬件编程与软件编程的差异,并掌握Verilog的基本应用。

2025-10-15 11:01:28 1079

原创 Verilog和FPGA的自学笔记5——三八译码器(case语句与锁存器)

本文介绍了使用Verilog描述3-8译码器的实现方法。通过case语句可以简化传统数字电路设计中的逻辑表达式推导,直接将真值表转换为代码。文章重点讲解了case语句的Verilog语法特点,强调必须完整列出所有可能情况以避免产生锁存器。同时介绍了多位宽寄存器的定义方式和位拼接运算符的使用。最后给出了完整的3-8译码器Verilog实现代码,展示了如何将3个输入信号组合并转换为8路输出。文章还讨论了锁存器产生的原因及避免方法,帮助读者理解硬件描述语言与数字电路设计的关系。

2025-10-11 08:07:48 1246

原创 Verilog和FPGA的自学笔记4——多路选择器(always语句)

本文介绍了使用Verilog实现多路选择器(MUX)的核心要点,重点讲解了always语句的两种应用方式。区分了组合逻辑与时序逻辑的概念,然后说明了Verilog的数字进制表示方法。详细解释了always语句的语法结构,给出了一个完整的多路选择器实现代码。文章适合Verilog初学者理解always语句的基本用法。

2025-10-09 15:51:55 1048

原创 Verilog和FPGA的自学笔记3——仿真文件Testbench的编写

博客介绍了FPGA开发中仿真文件的基本写法。主要内容包括:1. 时间尺度指令的语法和作用,解释了时间单位与精度的关系;2. 仿真模块的组成,重点讲解了信号类型定义(reg/wire)、信号初始化和模块例化的方法;3. 通过点亮LED的实例代码,展示了完整的仿真文件结构。文章还分享了作者使用ModelSim进行仿真的经验,并提供了相关软件的按键位置说明。最后附上了系列文章的链接,方便读者查阅前文。

2025-10-08 15:46:12 1268 4

原创 Verilog和FPGA的自学笔记2——点亮LED

本文介绍了Verilog的基本程序框架,重点讲解了模块(module)的结构和使用方法。作者通过按键点亮LED的示例代码,展示了Verilog模块的基本语法格式。文章采用通俗易懂的方式,帮助初学者建立对Verilog模块的基本认识。

2025-10-08 11:48:01 819

原创 Verilog和FPGA的自学笔记1——FPGA

本文分享了作者自学FPGA和Verilog的经历与感悟。FPGA是一种可编程芯片,其核心是查找表(LUT)和触发器,能够根据用户需求灵活构建硬件电路。文章阐述了FPGA的工作原理,比较了FPGA与传统处理器的区别,并强调了FPGA在特定场景下的高效性能。最后,作者鼓励对FPGA感兴趣的读者坚持学习,并希望与大家共同进步。全文展现了作者对技术的热情和探索精神。

2025-10-07 22:36:19 536

原创 我们真的能够穿越到未来吗?

概述爱因斯坦在他1905年的论文《论动体的电动力学》中介绍了其狭义相对论。提出了时间膨胀、空间收缩的概念。这对于现代物理学来说是一个历史性的大变革,有了相对论,就出现了弯曲时空、四维时空等奇妙的时空观。相对论是真的吗?自从相对论提出的那一刻起,越来越多的科学家加入到“反相对论”的行列中。这是必然的。在当时,牛顿的绝对时空观与相对论严重冲突,伽利略的部分理论也于相对论矛盾。这就是说,爱因斯...

2020-04-10 13:24:52 382

原创 电脑的运算原理

寄存器电脑内部,不管是什么,都会有寄存器。寄存器可分为读入寄存器和移位寄存器。每类都有4位寄存器、8位寄存器、16位寄存器。除了这些,还有组合式32位寄存器、组合式64位寄存器。通常电脑中都是8位移位寄存器。在电脑中,只有0和1两种状态。0代表低电平,1代表高电平。当然这些就是题外话了。那么,在电脑中就是二进制的天下。好,刚才我们说电脑里全是8位移位寄存器,那么8位,也就是8位二进制数...

2020-03-20 13:20:34 2290

原创 c++第八课 运算原理

上一课:c++第七课 加法算数运算c++第八课 运算原理这节课的内容可能相当无聊,但也相当有意思。我们来讨论一下电脑内部的运算原理。可能有一部分读者:学原理干什么?答:下节课你不会。继续问:那下节课不学不行吗?答:可以,你就没法深入,后面的课程会有一定的影响。再问:遇到就跳过去不行吗?答:可以。那你可以直接跳到第十课开始看了!寄存器电脑内部,不管是什么,都会有寄存器。寄存器可...

2020-03-20 12:05:24 967 1

原创 51单片机实用小工具集

开发51单片机时经常用到一些小工具,我就来分享一下多年来收集的小工具!1.字模提取软件在最上面的框里输入一个汉字(输多了检索第一个字),点击“检索”,就会出现相应的16进制代码。缺点:只能用于16*16点阵,要是弄显示器就不好玩了。2.串口调试助手51单片机入门的读者应该很熟悉,不用多介绍了。51单片机的程序下载软件stc-isp里有调试助手,所以对于开发其他单片机效果更佳!串口...

2020-03-20 09:31:49 1743 2

原创 c++第七课 加法算数运算

上一课:c++第六课 c++语言常用类型c++第七课 算数运算

2020-03-19 12:03:56 11644 2

原创 51单片机ZFM60XSA光学指纹模块C语言应用

现在很多电子产品都和指纹有关,我把我学习的ZFM60XSA光学指纹模块的用法分享分享。资料下载地址原理我们手指内侧表面的皮肤凹凸不平产生的纹路会形成各种各样的图案,皮肤的纹路在图案、断点和交叉点上各不相同,在信息处理中将它们称作“特征”,每个手指的特征都是不同的,也就是说,是唯一的。依靠这种唯一性,我们就可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就可以验证他的真...

2020-03-17 17:26:01 3243 1

原创 c++第六课 c++语言常用类型

上一课:c++第五课 输入c++第六课 c++语言常用类型上节课我们学习了int型变量的输入,可以写出一个简单的人机互动界面。这节课我们学习一下不同类型,制作出更有意思的小程序。在c++语言中,有好多种类型。我们学习的int型是最基本的变量类型,也是最常用的类型之一,所以请先学好int型哦!数字类型int型用来定义数字变量,长度是有限制的。先不聊c++,说点别的。生活中我们经常用到计...

2020-03-17 13:31:06 1003

原创 c++控制台定位光标位置

在我们编写小游戏时,让程序来回打印空格或回车是个很耗时的事,所以今天我给大家发一个定位光标的程序。#include<iostream> #include<cstdio>#include<windows.h>#include<conio.h>#include<string.h>using namespace std;void ...

2020-01-03 18:26:32 1604 1

原创 c++第五课 输入

c++第五课 输入上节课我们学习了int性变量的定义与输出,比如下面这一段程序:#include<iostream>using namespace std;int main(){ int a; a=10; cout<<a; return 0;}输出结果如下:10其中定义那一行也可以写成:int a=10;也是可以的。我写这么多废话,是为了复习一...

2020-01-01 19:52:26 947 2

原创 c++第四课 定义int型变量、变量赋值与输出

c++第四课 定义int型变量、变量赋值与输出如果本章学会了,代表你知道了c++是个什么东西。其实前三课学不学无所谓,学了就明白个cout是个什么,所以,前三课学不好没关系,从这一课开始,认真学。c++最大的好处就是算法巧妙、简单易学。所有程序都是用来计算的,比如百度,它也是一直在计算有没有违规文章什么的;比如贪吃蛇游戏,也在计算当前方位等等……而我们学的cout,根本没做运算,就是输出来...

2019-08-29 18:47:17 11009

原创 c++第三课 关于代码的一些知识

c++第三课 关于代码的一些知识了解本节课的内容后,有帮助你写代码和读自己或别人的代码的效率。上节课我们学习了在屏幕上输出字符组成的图形,代码:#include<iostream>using namespace std;int main(){ cout<<" *"<<endl; cout<<" ***"<<end...

2019-08-28 21:12:49 807

原创 c++第二课 输出自定义字符图形

c++第二课 输出自定义字符图形本课我们来学习怎样在屏幕上用符号构成自己想要的图形。上节课我们学习了在屏幕上输出“Hello word”,这节课与上节课类似,都是在屏幕上输出字符。先说一下题目吧,在屏幕上输出一下内容: * *** ***** ****************大家可以尝试着写一写。但输出出来的很有可能是以下的样子:*****************...

2019-08-28 17:49:35 3678 1

原创 c++第一课 输出“Hello word”

c++第一课 输出Hello word学习c++写的第一个程序就是经典的“输出Hello word”;关于这个程序有很多种写法,先给出最简单的代码。#include<iostream>using namespace std;int main(){ cout<<"Hello Word"; return 0;}第一句#include<iostrea...

2019-08-28 17:20:35 4439 2

ZFM60XSA指纹模块资料.rar

介绍了ZFM60XSA光学指纹传感器的使用方法、原理等。以51单片机为例,内含C语言源码。有实用的软件。非常赞!!!

2020-03-17

正方体三维消隐成像.zip

2021-10-01

51单片机实用小工具集.rar

参见bnsarocket的博客:51单片机实用小工具集 https://blog.youkuaiyun.com/bnsarocket/article/details/104936930

2020-03-20

c++贪吃蛇.rar

实现简单的贪吃蛇游戏,分为10个等级。控制台实现,含windows一些常用函数。 程序比较简单,可自己改写。内有大量注释,方便阅读。

2020-03-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除