自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 记录一下为什么FPGA的阻塞赋值会延时一个时钟周期以及亚稳态的问题,望大佬解答

当rx信号在时钟上升沿到来之前是高电平,来临之后变换为低电平,那么通过打一拍赋值给的新的寄存器的信号是在时钟到来之前的电平状态,也还就是高电平。虽然在上面的参考文献中,作者给出了出现第二种情况的答案,是因为D触发器的建立时间、保持时间、输出延时的原因。根据上上面的仿真图像可以看到,in的赋值与时钟上升沿是对齐的,并且in使用的是阻塞赋值,也就是说在时钟上升沿的那一刻数据发生了变化,在学习FPGA的时候,经常会使用打拍的操作来用来消除亚稳态、获取信号的下降沿检测,来生成一些标志信号。in_r

2024-06-10 14:48:24 1114 1

原创 VGA显示器驱动--字符游走

首先这个程序是一个纯verilog程序实现的,当然这里用到了一个PLL锁相环,将我的50MHZ系统时钟进行分频,输出一个25MHZ的时钟频率。当即就在我的日记本上记下了这个项目,立誓要Copy一个~,但实在是太厉害了,我计划一点一点的分模块来完成吧,毕竟我现在也刚开始学习FPGA才2个多月,慢慢来吧。起始这个功能并不难实现,具体的实现思路都在这篇文章里面写的很清楚了,感兴趣的就可以点进去慢慢看。如果很难看懂的话,可以看下我文章末尾的一个参考链接,FPGA就是他带我入门的。VGA显示器驱动--字符游走。

2024-05-06 18:06:25 388

原创 锁存器和触发器的理解与整理

用来存储数据的小型存储区域,暂时存放参与运算的数据和运算结果,寄存器的存储电路是由锁存器和触发器构成的,因为1个锁存器或者触发器只能存储1位2进制数据,所以由N个锁存器或者触发器可以构成N位寄存器,在实际芯片中一般按照字节位数设计,所以一般与8位寄存器、16位寄存器。注意,由于弹起的距离很小,触片不足以碰到 NO,因此这时开关侧的 NO、NC 都处于“悬空状态”,对于锁存器来说,由于上拉电阻的存在,SR=11。在接触 NC 的瞬间,有 S = 1(上拉), R = 0,故 Q 被设为低电平,完成电平转换。

2024-05-06 14:48:59 865 3

原创 VGA显示器驱动设计_FPGA的零基础入门学习与开发实践

VGA(视频图形阵列),是一种电脑显示标准,是IBM在1987年提出的一个使用类比讯号的电脑显示标准。个人电脑在加载自己独特的驱动程序之前,都必须支持VGA的标准,绝大多数显卡都带有这种接口。说到VGA接口,相信很多朋友都不会陌生,因为这种接口是电脑显示器上最主要的接口,从块头巨大的CRT显示器时代开始,VGA接口就被使用,并且一直沿用至今,另外VGA接口还被称为D-Sub接口。VGA示意图VGA支持在640x480的较高分辨率下同时显示16种色彩或256种灰度。

2024-05-04 19:18:25 846

原创 C++入门基本语法

C++是C语言的升级版,在C的基础上增加了很多功能,是一种高级的语言C语言就是面向过程的,而C++是面向对象的举例:a+b直接计算a+b就是面向过程的面向对象就是给a+b穿上了一层衣服,而不是直接计算a+b。public: // 修饰符int age;对象是类的实例化直接定义student my // student 就是类, my 就是对象在堆里面定义// 指针类型的删除对象delete my1;// 只能删除在堆里面定义的对象,目的是释放内存。

2024-04-26 09:50:00 737 1

原创 verilog运算符整理

&||!=>=

2024-03-25 19:40:40 942 1

原创 verilog基础--非门、与门、或门、与非门、异或非门原理及代码实践

异或门有两个输入,其输出是输入的逻辑异或。如果输入信号相同(都是高电平或都是低电平),则输出为高电平;非门是最简单的逻辑门,它有一个输入和一个输出。非门的输出是其输入的逻辑非。如果输入为高电平(逻辑1),则输出为低电平(逻辑0);如果输入为低电平(逻辑0),则输出为高电平(逻辑1)。或门的输出是其所有输入的逻辑或。只有当所有输入都是低电平时,输出才是低电平。与门的输出是其所有输入的逻辑与。否则,输出为低电平。或非门(NOR Gate)是逻辑或门(OR Gate)的输出经过非门(NOT Gate)的结果。

2024-03-25 19:37:57 4455 1

原创 FPGA 设计的烧写与投产

上电,固件依旧保持,整个程序固化工作完成。部,则设计了一个专用的硬件电路,在芯片刚上电时就主动去读取存储器中的固件,并配置。艺的查找表结构前提下,使得芯片每次上电后,都能获得有效的配置数据。动执行一次从配置芯片中配置固件的过程,方法很简单,只需开发板断电后重新上电即可。按钮后,软件开始转换文件,转换成功后弹出成功提示窗口,如下图所。中后,板子重新上电,则之前下载的固件又不在了的原因。烧录完成后,此时固件已经保存在了配置芯片中,但是此刻。因为当前的固件是存储在配置芯片中的,并没有被配置到。

2024-03-25 17:42:57 1540 1

原创 #4_PWM实现呼吸灯_FPGA的零基础入门学习与开发实践

PWM是一种通过调整脉冲的宽度(即占空比)来控制模拟电路的一种方法。占空比是指脉冲高电平的时间与整个脉冲周期的比例。通过调整占空比,我们可以控制LED的亮度。

2024-03-21 16:15:25 333 1

原创 #3_时序逻辑的开始—寄存器(梦的开始)_FPGA的零基础入门学习与开发实践

在组合逻辑电路中 ,存在一个巨大的缺点就是存在竞争冒险,竞争冒险的知识可以参考数字电路相关的书籍,这里不再作过多赘述,竞争冒险这个问题在电路中是非常危险的它会是我们电路处于一个不稳定的状态(考研复试常见考题,必背内容!),那么我们使用时序逻辑,就可以很大的避免这个问题,提高系统的稳定性。时序逻辑最基本的单元就是寄存器,它具有存储功能,一般是由于触发器和锁存器构成,由时钟脉冲控制。

2024-03-20 21:26:28 510 1

原创 #2简单组合逻辑—多路选择器_FPGA的零基础入门学习与开发实践

组合逻辑是verilogHDL设计中一个重要的组成部分,将利用组合逻辑和多路选择器的知识映射到FPGA中的三个按键及一个led灯,让大家更清晰容易的理解

2024-03-20 11:08:11 785 1

原创 verilog变量类型的选择方法

正确选择变量类型有助于提高代码的可读性和仿真效率,同时也能确保设计的正确实现。

2024-03-19 12:29:26 432

原创 #1_按键点亮一个LED_FPGA的零基础入门学习与开发实践

完成后,程序没有报错,我们这里需要定义一下引脚,点击下面按钮,进入引脚配置界面,有两个变量,key_in是按钮的引脚,led_out是led的引脚,按照自己的原理图进行相应的填写。我们上面分析了原理图,知道了LED和按键在没有工作的时候都是高电平,工作时是低电平,所以我们可以绘制一个波形图如下。我们通过下面的电路图可以知道,其中LED,D2绿对应的引脚是136,一端连接的是VDD3.3V,所以。这里注意,第一行是项目保存的路径,第二行是项目的名字,注意这里我们填写led,第三行与第二行默认一致。

2024-03-19 12:11:20 474

原创 #0_什么是FPGA_FPGA的零基础入门学习与开发实践

FPGA中文名称“现场可编程门阵列”,是一种可重复变成的器件,是在PAL(可编程逻辑阵列)、GAL(通用阵列逻辑)、CPLD(复杂可贬称逻辑器件)等传统逻辑电路和门阵列的基础上发展起来的一种半定制电路,主要应用在ASIC(专用集成电路)领域,即解决了半定制电路的不足,又克服了原有可编程器件门电路有限的缺点,其重要的特点是“可重复编程、低功耗、低时延、算力强”。4、数字电路(组合电路,触发器,特别是D触发器构成分频器,奇数倍分频占空比为50%,时序电路,并且能用Verilog语言描叙);

2024-03-18 10:33:03 373

原创 多任务执行:多进程多线程介绍

进程是分配的资源最小单位,是操作系统进行资源分配和调度运行的基本单位程序运行会默认创建一个进程,称为主进程,程序运行后会创建一个进程叫子进程除了使用多进程来实现多任务外,线程也是实现多任务的一种途径,进程是分配资源的最小单位,线程是程序执行的最小单位实际上可以说进程是线程的容器,一个进程中最少有一个线程来负责执行程序,而且可以与同属一个进程的其他线程共享进程所拥有的全部资源。

2023-06-30 20:37:52 346

多任务执行:多进程多线程介绍

多任务执行:多进程多线程介绍

2023-06-30

空空如也

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

TA关注的人

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