FPGA
文章平均质量分 78
dongtao Lv
专注FPGA开发
展开
-
D触发器实现分频器
D触发器实现分频器对于分频器的实现,我们最常用的方法就是通过计数器来实现,具体的实现可以看前面的文章,但是通过D触发器实现却很少遇到,我将通过这篇文章讲解D触发器实现分频器,这里以9分频为例。我们要实现的是通过D触发器和组合逻辑实现占空比为50%的9分频电路,首先我们通过D触发器实现序列发生器,输出000001111循环序列,然后用下降沿的D触发器打一拍,将两个信号相或后输出即可。通过上面的思路,我们首先画出对应的波形图,其中clk1为序列发生器产生的序列脉冲,clk2是clk1在系统时钟clk的下降原创 2021-04-27 11:56:18 · 20794 阅读 · 0 评论 -
任意整数分频(图文并茂)
上一篇文章讲解了如何进行任意的奇分频和任意的偶分频,这篇文章主要讲解占空比为50%的任意整数分频(奇分频和偶分频),下面首先以6分频和5分频来回顾一下奇偶分频。偶分频偶分频时最简单的,通过下图就可以很好的理解,其中只需要两个always块,其中一个用来计数,计数器每次计数到5,然后清零重新计数,第二个always块用来产生分频时钟,假设初始状态为高电平,当计数到2时,将信号拉低,当计数到5时,将信号拉高。那么对于任意的偶分频,如何确定cnt的最大值,如何确定div_clk信号什么时候拉低,什么时候拉原创 2021-04-26 20:56:03 · 2110 阅读 · 1 评论 -
uart详解和实现
UARTuart是通用异步收发器。可以实现数据在串行通信和并行通信之间的转换。通俗的理解就是将单比特的数据转化为多比特的数据,或者将多比特的数据转化成单比特的数据。可以用来实现PC机和FPGA以及FPGA与其他板卡之间的通信。特点uart是一种串行总线;用于异步通信;可以实现全双工通信。UART通信协议有两根通信线,分别为tx线和rx线,这两根线的位宽都为1bit,tx线用来发送数据,rx线用来接收数据。注意这里的发送和接收都是以FPGA为主的,比如:接收数据指的是FPGA接收来自PC原创 2021-03-30 15:11:47 · 2311 阅读 · 1 评论 -
奇分频和偶分频
奇分频和偶分频前言在数字电路中,时钟占据着重要的作用,在FPGA的开发中,都是以时钟为基本单位来计算时间的,一般在我们使用的FPGA开发板中,只有一个晶振用来产生时钟。因此,在开发板设计好之后,只能有一个频率的时钟,但是我们在实际开发的过程过,使用的时钟远远不止一个,这个时候就需要我们产生新的时钟。通常称为分频和倍频,产生分频有两种方式:使用PLL核和verilog代码自己实现;而倍频我们只能通过PLL核来实现;分频总体上可以分为偶分频、奇分频和小数分频三种,在本文中将为大家介绍如何通过verilog自原创 2020-12-02 23:24:33 · 2977 阅读 · 0 评论 -
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 · 8386 阅读 · 8 评论 -
DDS发生器的频率控制字原理和基本结构(二)
DDS发生器的频率控制字原理和基本结构(二)在正弦波发生器的verilog实现(一)中已经实现了最基本的功能,这篇文章将主要讲解DDS发生器的频率控制字原理和基本结构。在这里先给出DDS发生器的结构框图:下面对结构框图的各部分进行解释:RAM部分:在正弦波发生器的verilog实现(一)部分,我们使用matlab产生了一个周期的正弦波信号,并且在一个周期中采集了256个样点,然后通过导入.coe文件,将这256个样点保存到RAM中,即:RAM中存放的是离散的正弦波信号(一个周期,256个样点),原创 2020-11-23 15:56:47 · 19192 阅读 · 8 评论 -
正弦波发生器的verilog实现(一)
正弦波发生器的verilog实现(一)原创 2020-11-23 10:27:07 · 17487 阅读 · 14 评论 -
可配置的逻辑块(CLB)
可配置的逻辑块(CLB)原创 2020-11-12 10:57:07 · 3317 阅读 · 0 评论 -
FPGA基础之LUT详解
查找表(LUT)对于一个有n输入的逻辑运算,则最终有2n个不同的组合方式。为了便于理解,下面给出一个例子:上面例子对应的组合逻辑电路如下:该组合逻辑对应的真值表:如果使用传统的数字电路的方法,则要实现该组合逻辑电路,需要经过下面几个过程:通过真值表得到输入和输出之间的逻辑关系;通过化简卡诺图得到描述输入输出变量关系的逻辑表达式;通过逻辑电路实现逻辑表达式。众所周知,在设计时序电路时,时序电路的工作性能极为重要。然而,采用传统逻辑门电路实现逻辑关系的方法存在一些严重的缺点:输入变量原创 2020-11-13 10:42:33 · 35682 阅读 · 9 评论