自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 D触发器实现分频器

D触发器实现分频器对于分频器的实现,我们最常用的方法就是通过计数器来实现,具体的实现可以看前面的文章,但是通过D触发器实现却很少遇到,我将通过这篇文章讲解D触发器实现分频器,这里以9分频为例。我们要实现的是通过D触发器和组合逻辑实现占空比为50%的9分频电路,首先我们通过D触发器实现序列发生器,输出000001111循环序列,然后用下降沿的D触发器打一拍,将两个信号相或后输出即可。通过上面的思路,我们首先画出对应的波形图,其中clk1为序列发生器产生的序列脉冲,clk2是clk1在系统时钟clk的下降

2021-04-27 11:56:18 19407

原创 任意整数分频(图文并茂)

上一篇文章讲解了如何进行任意的奇分频和任意的偶分频,这篇文章主要讲解占空比为50%的任意整数分频(奇分频和偶分频),下面首先以6分频和5分频来回顾一下奇偶分频。偶分频偶分频时最简单的,通过下图就可以很好的理解,其中只需要两个always块,其中一个用来计数,计数器每次计数到5,然后清零重新计数,第二个always块用来产生分频时钟,假设初始状态为高电平,当计数到2时,将信号拉低,当计数到5时,将信号拉高。那么对于任意的偶分频,如何确定cnt的最大值,如何确定div_clk信号什么时候拉低,什么时候拉

2021-04-26 20:56:03 1964 1

原创 uart详解和实现

UARTuart是通用异步收发器。可以实现数据在串行通信和并行通信之间的转换。通俗的理解就是将单比特的数据转化为多比特的数据,或者将多比特的数据转化成单比特的数据。可以用来实现PC机和FPGA以及FPGA与其他板卡之间的通信。特点uart是一种串行总线;用于异步通信;可以实现全双工通信。UART通信协议有两根通信线,分别为tx线和rx线,这两根线的位宽都为1bit,tx线用来发送数据,rx线用来接收数据。注意这里的发送和接收都是以FPGA为主的,比如:接收数据指的是FPGA接收来自PC

2021-03-30 15:11:47 2244 1

原创 同步逻辑电路和异步逻辑电路

同步逻辑只被一个时钟信号驱动的设计称为同步逻辑,因为所有的记忆元素(比如寄存器、RAM。锁存器等)都被同一个时钟信号驱动,他们的输出都是同时变化的,因此对数字电路的影响也是同步的。典型的同步逻辑电路如下:上面只是对同步逻辑狭隘的定义,广义的概念:允许数字电路中有多个时钟,但是这些时钟具有下面条件之一:这些时钟之间有着固定的因果关系;他们所驱动的记忆单元在电路上是完全隔离的条件一对应的典型电路:条件二对应的典型电路:同步逻辑的特点:所有的触发器的时钟都连在一起,并且都接在系统时钟上

2021-03-15 20:46:16 4461

原创 USRP_X310_Device_Recovery手册

概述本教程介绍了通过JTAG接口刷新FPGA image以恢复USRP X310的过程。因为USRP可以在linux、windows等系统上使用,但是在烧写image时,由于下载的image问题、烧写image过程中突然断电等都会导致USRP X310启动失败,无法发现设备。此时就需要在linux环境下安装vivado软件对USRP进行恢复。对于那些不熟悉linux环境的人员来说,搭建整个环境非常困难,而且在搭建的过程中也会遇到很到意外的问题,即使熟悉linux系统,但是vivado软件的下载、安装过程也

2020-12-09 14:35:19 2963 2

原创 奇分频和偶分频

奇分频和偶分频前言在数字电路中,时钟占据着重要的作用,在FPGA的开发中,都是以时钟为基本单位来计算时间的,一般在我们使用的FPGA开发板中,只有一个晶振用来产生时钟。因此,在开发板设计好之后,只能有一个频率的时钟,但是我们在实际开发的过程过,使用的时钟远远不止一个,这个时候就需要我们产生新的时钟。通常称为分频和倍频,产生分频有两种方式:使用PLL核和verilog代码自己实现;而倍频我们只能通过PLL核来实现;分频总体上可以分为偶分频、奇分频和小数分频三种,在本文中将为大家介绍如何通过verilog自

2020-12-02 23:24:33 2839

原创 DDS发生器的verilog实现(三)

DDS发生器的verilog实现(三)前面讲解了正弦波发生器和DDS基础知识,这篇文章主要讲解如何在fpga上实现DDS发生器,同时对上一篇的文章进行补充。确定频率控制字的DDS发生器首先对初始条件做一假设:相位累加寄存器的位宽为n=32位,用来存储离散正弦波的RAM规格为256*8bit,使用的采样频率fc=50Mhz,要求DDS输出波形的频率为f0=1Mhz。则可以通过前面的公式f0 = fc * M / 2^n,可以计算出频率控制字M = 85899345,直接在正弦波发生器的代码上进行修改即可

2020-11-24 11:44:42 8037 7

原创 DDS发生器的频率控制字原理和基本结构(二)

DDS发生器的频率控制字原理和基本结构(二)在正弦波发生器的verilog实现(一)中已经实现了最基本的功能,这篇文章将主要讲解DDS发生器的频率控制字原理和基本结构。在这里先给出DDS发生器的结构框图:下面对结构框图的各部分进行解释:RAM部分:在正弦波发生器的verilog实现(一)部分,我们使用matlab产生了一个周期的正弦波信号,并且在一个周期中采集了256个样点,然后通过导入.coe文件,将这256个样点保存到RAM中,即:RAM中存放的是离散的正弦波信号(一个周期,256个样点),

2020-11-23 15:56:47 17282 7

原创 正弦波发生器的verilog实现(一)

正弦波发生器的verilog实现(一)

2020-11-23 10:27:07 16216 13

原创 FPGA基础之LUT详解

查找表(LUT)对于一个有n输入的逻辑运算,则最终有2n个不同的组合方式。为了便于理解,下面给出一个例子:上面例子对应的组合逻辑电路如下:该组合逻辑对应的真值表:如果使用传统的数字电路的方法,则要实现该组合逻辑电路,需要经过下面几个过程:通过真值表得到输入和输出之间的逻辑关系;通过化简卡诺图得到描述输入输出变量关系的逻辑表达式;通过逻辑电路实现逻辑表达式。众所周知,在设计时序电路时,时序电路的工作性能极为重要。然而,采用传统逻辑门电路实现逻辑关系的方法存在一些严重的缺点:输入变量

2020-11-13 10:42:33 32185 9

原创 可配置的逻辑块(CLB)

可配置的逻辑块(CLB)

2020-11-12 10:57:07 3206

空空如也

空空如也

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

TA关注的人

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