自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FPGA实战篇(三)UART通信3

FPGA基础程序学习第二节 UART通信回环//判断接收完成信号,并在串口发送模块空闲时给出发送使能信号always @(posedge clk or negedge rst_n) beginif (!rst_n) begintx_ready <= 1’b0;send_en <= 1’b0;send_data <= 8’d0;endelse beginif(recv_done_flag)begin //检测串口接收到数据tx_ready <= 1’b

2022-05-06 11:31:49 326 1

原创 FPGA实战篇(二)UART通信2

FPGA基础程序学习第二节 UART通信串口发送模块在程序的 59 行,我们将 tx_flag 提前 1/16 个停止位拉低,是为了确保发送模块发送数据的时间略小于接收模块接收数据的时间,否则当连续传输大量数据时,发送数据的时间会不断累积,最终导致在做串口环回实验时丢失数据。尽管串口发送数据只是接收数据的反过程,理论上在传输的时间上是一致的,考虑到我们模块里计算波特率会有较小的偏差,并且串口对端的通信设备(如电脑等)收发数据的波特率同样可能会出现较小的偏差,因此这里为了确保环回实验的成功,这

2022-05-05 15:11:13 302

原创 FPGA实战篇(二)UART通信

FPGA基础程序学习第二节 UART通信顶层时钟频率 CLK_FREQ 与串口波特率 UART_BPS,使用时根据系统需求设置。在模块例化时将这个变量传递到串口接收与发送模块中,从而实现不同速率的串口通信。接收、发送、回环三大模块顶层接收模块信号定义,写程序要前有清晰的认识,理清楚逻辑,分成多段写程序,更加清晰,注意注释的书写。//数据接收完毕后给出标志信号并寄存输出接收到的数据always @(posedge clk or negedge rst_n) beginif (

2022-04-29 16:52:56 444

原创 FPGA实战篇(一)

FPGA基础程序学习第一节 点亮LED自动闪烁程序逻辑端口设计信号名 方向 管脚 端口 电平标准sys_clk input U18 时钟,50MHz LVCMOS33sys_rst_n input J15 复位键,低有效 LVCMOS33led[0] output J18 PL_LED0 LVCMOS33led[1

2022-04-28 16:02:24 404

原创 FPGA初学者(9)

数字电路思想篇方案精细设计方案是编写代码的前提,复杂的项目没有方案,无法写出代码。方案必须达到能指导编码的阶段,其中包括:功能描述、架构实现、表现描述、模块划分、模块实现细节和时序描述、接口描述等。有几点建议:方案细化到 always 块;模块实现细节描述清楚;重点电路和复杂电路时序要在编码前画出;有架构和模块划分描述;包括资源占用的评估报告。模块划分复杂系统一般由多模块完成,若模块划分不合理,会出现模块间耦合太多,导致系统不健壮和不清晰,易出问题,且系统接受新需求能力不强。模块划

2022-04-28 09:53:32 160

原创 FPGA初学者(8)

数字电路实用篇第三章 FIFO简介FIFO本质IFO 包括同步 FIFO 和异步 FIFO 两种,同步 FIFO 有一个时钟信号,读和写逻辑全部使用这一个时钟信号,异步 FIFO 有两个时钟信号,读和写逻辑用的各种的读写时钟,FIFO 与普通存储器 RAM 的区别是没有外部读写地址线,使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加 1 完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。 FIFO 本质上是由 RAM 加读写控制逻辑构成的

2022-04-26 17:11:49 301

原创 FPGA初学者(7)

数字电路实用篇第二章 RAM简介真双端口 RAM 设计真双端口 RAM 指的是有两个独立的读写口,就是有两组数据线和地址线,一组是读或者写数据线,另外一组也是读或者写数据线,同一个时刻两个端口可以同时访问,两个端口可以是读和读,也可以是写和读,还可以是写和写。wea :输入端口A的写使能信号,一般高电平有效;ena: 输入端口A的使能信号,一般高电平有效;addra:输入端口A的RAM的地址信号,由外部输入,地址位宽决定了 RAM 的最大深度,比如地址为4,则 RAM 最大深度是16;din

2022-04-25 09:30:48 727

原创 FPGA初学者(6)

数字电路实用篇第二章 RAM简介伪双端口 RAM 设计伪双端口 RAM 有两个读写端口,但是一个端口只能读,一个端口只能写。一般 FIFO 设计中都是使用的伪双端口 RAM。伪双端口 RAM 指的是有两个读写口,就是有两组数据线和地址线,一组是写数据线,一组是读数据线,同一个时刻写和读可以同时访问。从 Xilinx 伪双端口 RAM 的端口信号我们也可以看出,伪双端口 RAM 读写要控制的主要的端口都是写使能、读使能、写数据、写地址、读地址和读数据RAM 读延迟,就是 RAM 发起读,然后读数

2022-04-24 14:53:26 527

原创 FPGA初学者(番外)

数字电路实用篇番外 简述FIFO与RAM区别在学习过RAM后,还会接触到FIFO,FIFO 也是用来存储数据的,所以通常人们都会有一个疑问, RAM 和 FIFO 有啥区别?这里做一个简述:区别一RAM 是指有地址线、数据线和使能的存储单元,可以通过地址对任意地址进行读写访问。FIFO 也是一个端口只读,另一个端口只写。FIFO 与伪双口 RAM 的区别在于,FIFO 为先入先出,没有地址线,不能对存储单元寻址;而伪双口 RAM 两个端口都有地址线,可以对存储单元寻址;区别二使用场景不一样,FI

2022-04-23 16:03:39 210

原创 FPGA初学者(5)

数字电路实用篇第二章 RAM简介RAM 是存储器分类的一个分支,属于静态存储器,RAM 是逻辑设计中非常重要的一个特性,RAM 一般包括单端口 RAM,伪双端口 RAM ,真双端口 RAM 。单端口 RAM只有一个读写口,同一个时刻只能发起读或写,伪双端口 RAM 设计一个端口只能读,一个端口只能写,真双端口 RAM 设计每个端口都可以进行读或者写操作,特点是容量相对不是很大,速度非常高,掉电数据丢失。单端口 RAM 设计单端口 RAM 指的是只有一个读写口,就是只有一组数据线和地址线,就是读和写

2022-04-23 15:58:16 475

原创 FPGA初学者(4)

数字电路实用篇第一章 信号的边沿检测信号得边沿检测是指在电路中对一个信号的上升沿或者下降沿进行检测,如果发现此时的信号正好处于上升或下降边沿则给出一个信号进行显示,通常分为上升沿检测电路、下降沿检测电路和双沿检测电路。在实际的项目中进行逻辑设计,检测信号的跳变是十分常见的,当一个信号发生跳变,则给出一个指示,进而触发其他的动作也是常见的设计思路。上升沿检测检测信号由 0 变 1 的过程,就是上升沿检测电路,上升沿检测电路a 信号周期的信号,想得到 a 信号的上升沿A信号,可以看出A 信号是一

2022-04-22 15:39:21 417

原创 FPGA初学者(3)

数字电路基础第一章 时序逻辑电路和组合逻辑电路时序逻辑时序电路是有记忆功能的, 它在任何时刻的输出,不仅与该时刻的输入信号有关,而且还与该时刻以前的输入信号有关。从上图时序逻辑图可看出,时序逻辑由组合逻辑和存储逻辑构成,组合逻辑将完成输入到输出的逻辑处理,处理的结果同时会进入存储逻辑里面存储下来,等到下一个时刻再和输入的信号做逻辑处理,得到最终的处理结构。时序逻辑的存储电路一般由锁存器、触发器和寄存器构成。锁存器(latch)是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的

2022-04-22 09:32:51 229

原创 FPGA初学者(2)

数字电路基础第一章 时序逻辑电路和组合逻辑电路组合逻辑组合逻辑一般指的是一些门电路或者选择器、比较器一起组成的逻辑.下面我们来看下上面是组合逻辑,如下图所示:从上图中,我们可以看出,a/b/c 为组合逻辑的输入,x 和 y 为组合逻辑的输出,x 和 y 的值只取决于a/b/c 的当前的输入值,和 a/b/c 的之前的输入是没有任何关系的,这种电路我们就叫做组合逻辑电路。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。组合逻辑电路没有记忆功能,没有反馈环

2022-04-21 10:49:11 754 2

原创 FPGA初学者(1)

FPGA初学者第一章 时序逻辑电路和组合逻辑电路最简单认识数字电路一般包括组合逻辑和时序逻辑电路。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。组合逻辑电路没有记忆功能,没有反馈环路。时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。...

2022-04-21 10:21:45 60

空空如也

空空如也

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

TA关注的人

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