自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vivado生成网表文件的步骤及方法

Vivado生成网表文件的步骤及方法

2023-11-06 16:12:45 1284

原创 FPGA之边沿检测设计(上升沿,下降沿,双边沿)

verilog实现边沿检测

2022-01-26 17:53:26 1239

原创 FPGA之边沿检测设计(上升沿,下降沿,双边沿)

verilog实现边沿检测

2022-01-26 17:44:45 620

原创 FPGA代码练习

01、8位加法器功能代码module adder_8 ( cout,sum,a,b,cin );input [7:0] a,b;input cin;output cout;output [7:0] sum;assign {cout,sum} = a + b + cin;endmodule2、8位计数器功能代码module counter(out,clk,enable,rst);output[7:0] out;input clk, rst, enable;reg[

2021-12-08 16:50:27 1724

原创 (一)FPGA之串口通信(UART)

(一)FPGA之串口通信(UART)回到梦开始的地方,如今回过头来看串口协议,确实清晰了很多,但是奈何好记性不如烂笔头,我还是要重新记录一下学习的知识点,方便查找和学习。波特率(Band Rate):串口协议中很重要的一点就是波特率,波特率的概念是每秒钟传送码元的个数,就是一秒钟传输了几个二进制的个数,他的单位是Bit/s和bps两种。常见的串口速度有115200bps 9600bps等等,串口(RS232)的最大传输速率是 115200bps,表示一秒钟传输了115200个二进制 。波特率和字节

2021-09-10 14:12:57 40430 35

原创 2020-11-19

vivado中JESD204B IPcore的调用一.configuration页面1、transmitter or receive:当发送数据时FPGA作为transmitter,如用于DAC、当接受数据时FPGA作为receiver,如用于ADC时。2、LMFC buffer:buffer容量要大于一个多帧数据容量,大于8xFxK。F: 每帧中字节数K:每个多帧中帧数3、lanes:每个link中数据通道数。4、pattern gen:用于测试模式5、clocking:AXI4-LITE

2020-11-19 13:59:48 355

原创 FPGA中的rom记录

rom的个人记录先记录一自己写的第一个rom读取,我觉得rom应该是整个fpga里面最简单的了我是调用的IP核,在设置的时候就很简单,先设置深度和位宽,然后再设置输入输出端口,在端口处设置寄存器的haul会延迟一拍输出,但是会更加准确一点,然后就是设置coe文件,不同平台的文件格式不一样,有的是mif文件,等等设置好文件之后然后再输出地址就可以从rom里面读出数据,再到波形图上就可以观察到有各种波形图可以生成,rom在dds中的使用比较多,所以先搞清楚rom再去搞dds就会简单一些,这是我自己做完ro

2020-10-29 17:54:48 1374

原创 PLL锁相环及其locked信号

PLL锁相环1.locked信号:这个信号是观察输入时钟是否锁定,如果输入时钟信号锁定,就会输出一个locked高电平信号先记录一下locked信号加粗样式,locked信号是在输入信号稳定之后再输出一个locked信号,可以把locked信号当做一个复位信号,刚开始locked信号是低电平,等到时钟信号稳定之后他就会拉高,可以作为低电平复位的一个复位信号,如果是想高电平复位,可以对locked信号取反之后再当做复位信号。2.gata locked 信号:gata信号其实就是比locked信号多了

2020-10-27 10:23:00 16776 1

原创 单口RAM,双口RAM,FIFO的个人记录

单口RAM,双口RAM,FIFO的个人知识记录单口与双口的区别就是单口只有一组数据线和地址线,因此不能同时进行读写,但是双口是有两组数据线和地址线,读写可以同时进行,fifo也可以进行同时的读写,也可以看做是一个双口RAM,简单双口RAM和真双口RAM简单双口RAM又叫做伪双口RAM,伪双口RAM是一端只能进行读,另一端只能进行写,并且写入的时钟和读时钟可以不是同一个时钟,位宽也可以不是1:1。真双口RAM两端都可以进行读写操作,两端互不干扰。FIFOFIFO也是一个端口只能进行写,另一个端口

2020-10-26 19:58:50 761 1

原创 FPGA奇数分频偶数分频的分析记录

偶数分频代码,参数化设计,这里的偶数分频只使用了一个计数器,通过计数在分频后的前半个周期和后半个周期电平去反之后就得到了一个偶数分频模块,这个代码的移植性应该很强。module odd_div( input i_sys_clk , input i_sys_rst , output div_clk ); reg div_clk_reg = 1'b0 ; reg [3:0] div_cnt = 4'd0 ; parameter NU

2020-10-20 16:34:08 355

原创 FPGA设计交通信号灯(verilog)

关于交通信号灯的设计核心就是他的状态机的设计,只要分析明白状态机,代码就好像是照着抄,1.红灯变为绿灯时不显示黄色。绿灯变为红灯时要显示黄色。2,十字路口的交通等可以分为两组,南北一组,东西一组。这样一分析其实就是五个状态,画不多说上图:南北为红,东西就是绿或者黄,南北这一组变化就为黄变红变绿再黄变红,分析出这个就很简单了。话不多说上图![在这里插入图片描述](https://img-blog.csdnimg.cn/202010191900以上就是这个小工程的代码部分,再看一下波形图就更加清

2020-10-19 19:24:37 9115 7

原创 FPGA中verilog中的边沿采样(上升沿,下降沿,双边沿)

FPGA中的信号采集到上升沿,下降沿,以及双边沿,采集的时候其实就是延迟了两拍采集到信号的边沿,这样的信号更加准确,我是这样理解的,而且最好是延迟两拍,想延迟几拍就定义几个DFF,话不多说,直接上上面的图片就很直观的看出信号经过两次寄存器输出分别经过不用的门电路最终得到不同的边沿,在这里记录一下最后信号的输出不同方式:1,上升沿:倒数第二个触发器和最后一级取反触发器相与输出。2,下降沿:倒数第二个取反触发器和最后一级触发器相与输出。3,双边沿:最后两级DFF相异或得到。接下来我我们看一下代码:仿

2020-10-19 10:38:32 9638 3

原创 跨时钟域信号同步的解决办法

跨时钟域信号同步的解决办法以及亚稳态概念的名词解释:首先我们先搞清楚一个名词概念:亚稳态。同步逻辑,异步逻辑,建立时间,保持时间这几个概念也尤为重要,我个人觉得其实FPGA的很多概念都是层层嵌套的,一个名词解释也会引入更多的名词解释。同步逻辑:在一个模块中时钟与时钟之间有固定的相位关系,或者说时钟特征是可预测的被称为同步逻辑。异步逻辑:在一个模块中时钟与时钟之间没有固定的相位关系,也就是时钟特征是不可预测的称为异步逻辑。建立时间:时钟上升沿到来之前数据所要保持稳定的时间,保持时间:时钟上升沿到来

2020-10-16 19:32:37 3317

原创 同步复位,异步复位,异步复位同步释放的个人理解(1)

同步复位,异步复位,异步复位同步释放, 同步复位同步释放, 的各自含义,这样理解更容易复位形式说白了就四种方式,刚开始学习的时候一直听别人说同步复位同步释放,异步复位同步释放,同步复位,异步复位,各自有各自的优缺点,下面我们就好好理一理这其中的关系。同步复位和同步复位同步释放我个人的看法是一致的,只是两种不同的叫法。释放的概念:假如说复位信号是低电平有效,当复位信号拉高的时候,说明复位信号无效了,这就是信号的释放1.同步复位同步复位就是在时钟的上升沿(posedge)来的时候复位,高电平复位,其代码

2020-10-11 11:40:11 567

原创 Verilog代码实现序列检测状态机学习记录

**Verilog代码实现序列检测状态机学习记录Verilog代码实现序列检测状态机学习记录**//检测1100_1101序列检测的核心就是状态机的画图实现,仔细分析各个状态的流向和最后一个状态的判断,如果最后一个状态会重复之前的序列,则回到符合的状态继续检测,否则返回到空闲状态重新检测序列,比如检测八位的1100—1101,第一个状态是空闲状态实际上是检测第一位1,如果为1检测第二位,否则在空闲状态继续检测,只要画出图,基本就完成了六七成。上面的图片就是序列检测的状态机,照着这个图片写代码就

2020-10-07 17:28:21 1181

原创 2020-09-29在线检测模块 有时钟和脉冲两种模式 学习笔记

在线检测模块 有时钟和脉冲两种模式module online_detect #( parameter SYS_CLK_period = 100 , //系统时钟周期 parameter DETECT_period = 100 , //检测周期 parameter MODE_select = 1...

2020-09-29 21:23:55 388

原创 2020-09-28学习笔记

上升沿检测:检测信号从0-1的变化,检测形式为 ~a_r & a(a为信号当前值,a_r为信号上次采样值)下降沿检测:检测信号从1-0的变化,检测形式为 a_r & ~a (a为信号当前值,a_r为信号上次采样值)按键消抖module key_scan( input [3:0] key , //输入4个外部按键 input clk ,...

2020-09-28 17:53:09 164

原创 三段式状态机

FPGA初学三段式状态机写法段式状态机在第一个 always 模块采用同步时序逻辑方式描述状态转移,第二个 always 模块采用组合逻辑方式描述状态转移规律,第三个 always 描述电路的输出。通 常让输出信号经过寄存器缓存之后再输出,消除电路毛刺。这种状态机也是比较推崇的, 主要是由于维护方便,组合逻辑与时序逻辑完全独立。module detect_3( input clk_i, input rst_n_i, output out_o );reg out_r; //状态声明和状态编码reg [

2020-09-27 11:06:23 223

原创 2020911

公司空调太给力了,西安这么温暖的地方,我现在瑟瑟发抖????,看来下周必须把我的外套➕长裤安排上了

2020-09-11 13:48:33 425

空空如也

空空如也

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

TA关注的人

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