![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
FPGA
文章平均质量分 70
FPGA
半烟_
这个作者很懒,什么都没留下…
展开
-
从零开始的FPGA学习16-DDR3
FPGA DDR3读写控制原创 2022-07-13 19:51:09 · 709 阅读 · 1 评论 -
从零开始的FPGA学习14--基于 I2C 协议的 EEPROM 驱动控制
基于 I2C 协议的 EEPROM 驱动控制I2C物理层I2C协议层I2C 整体时序图I2C设备器件地址I2C设备存储地址I2C 读/写操作I2C 单字节写操作I2C 页写操作I2C 随机读操作I2C 顺序读操作实战演练I2C 驱动模块I2C物理层I2C协议层I2C 整体时序图图中标注①表示“总线空闲状态”,在此状态下串口时钟信号 SCL 和串行数据信号 SDA 均保持高电平,此时无 I2C 设备工作。图中标注②表示“起始信号”,在 I2C 总线处于“空闲状态”时,SCL 依旧保持高电原创 2022-07-09 16:32:13 · 560 阅读 · 0 评论 -
从零开始的FPGA学习13-串口RS232详解
从零开始的FPGA学习13-串口RS232详解原理RS232 通信协议工程整体框图串口数据接收模块波形图:原理RS232 通信协议RS232 是 UART 的一种,没有时钟线,只有两根数据线,分别是 rx 和 tx,这两根线都是 1bit 位宽的。其中 rx 是接收数据的线,tx 是发送数据的线。串口数据的发送与接收是基于帧结构的,即一帧一帧的发送与接收数据。每一帧除了中间包含 8bit 有效数据外,还在每一帧的开头都必须有一个起始位,且固定为 0;在每一帧的结束时也必须有一个停止位,且固定为 1原创 2022-07-06 18:28:46 · 3505 阅读 · 4 评论 -
从零开始的FPGA学习12-FIFO(同步FIFO、异步FIFO)
FIFO(First In First Out,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写方式。与 ROM 或 RAM 的按地址读写方式不同,FIFO 的读写遵循“先进先出”的原则,即数据按顺序写入 FIFO,先被写入的数据同样在读取的时候先被读出,所以FIFO存储器没有地址线。FIFO 存储器主要是作为缓存,应用在同步时钟系统和异步时钟系统中,在很多的设计中都会使用,后面实例中如:多比特数据做跨时钟域的转换、前后带宽不同步等都用到了FIFO。FIFO 根据读写时钟是否相同,分为 SCFIF原创 2022-06-05 17:22:20 · 947 阅读 · 0 评论 -
从零开始的FPGA学习11-ROM、RAM、FIFO合集(上)
从零开始的FPGA学习11-ROM、RAM、FIFO合集(详细版)(上)ROM简介波形RAM单端口 RAM简单双口RAM真双口RAM代码波形ROM简介ROM 是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。Xilinx 推出的 ROM IP 核分为两种类型:单端口 ROM(Single-Port Rom)和双端口ROM(Dual-Port ROM)。对于单端口 ROM 提供一个读地址端口和一个读数据端口,只能进行读操作;双端口 ROM 与单端口原创 2022-05-31 12:59:33 · 1270 阅读 · 0 评论 -
从零开始的FPGA学习5-同步复位D触发器、异步复位D触发器
从零开始的FPGA学习5-同步复位D触发器、异步复位D触发器原理同步复位的 D 触发器异步复位的 D 触发器特点代码原理同步复位的 D 触发器 同步复位的 D 触发器中的“同步”是和工作时钟同步的意思,也就是说,当时钟的上升沿(也可以是下降沿,一般习惯上为上升沿触发)来到时检测到按键的复位操作才有效,否则无效。 如图 14-5 所示最右边的三根红色的竖线表达的就是这种效果,sys_rst_n 被拉低后 led_out 没有立刻变为 0,而是当 syc_clk 的上升沿到来的时候 led_out原创 2022-05-24 09:08:26 · 7632 阅读 · 2 评论 -
从零开始的LSTM网络FPGA/verilog实现0--python不调库搭建LSTM
从零开始的LSTM网络FPGA/verilog实现0--python不调库搭建LSTM调库实现自己搭建运行结果对比调库实现import torchimport torch.nn as nnfrom torch.nn import Parameterfrom torch.nn import initfrom torch import Tensorimport math### testdef reset_weigths(model): """reset weights ""原创 2022-04-06 13:13:48 · 1145 阅读 · 0 评论 -
从零开始的Vivado HLS视频处理(一)--HLS中视频的读入和播放
HLS中视频的读入和播放代码代码testbench,无需综合,直接仿真#include <cassert>#include <iostream>#include <stdio.h>#include <hls_opencv.h>using namespace cv;#define INPUT_VIDEO "D:/HLS_Pjt/object_tracking/source_code/ic1.avi"int main(){ //读取视频文件原创 2021-07-27 00:36:45 · 751 阅读 · 0 评论 -
从零开始的FPGA学习10-UART串口/HC-05蓝牙模块接收数据
UART串口/HC-05蓝牙模块接收数据基本原理协议简介工作原理源代码基本原理协议简介协议简介:UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。其中每一位(Bit)的意义如下:起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验原创 2020-09-17 17:02:23 · 6173 阅读 · 7 评论 -
基于状态机的密码锁
基于状态机的密码锁原理图代码仿真波形图实验现象原理图Key1 按下为 0 信号,Key2 按下为 1 信号代码module lab( input clk, input key0, //按下代表0,按键值不按为1,按下为0 input key1, //按下代表1 output reg led原创 2020-08-11 09:57:35 · 1880 阅读 · 0 评论 -
从零开始的FPGA学习7-分频器
从零开始的FPGA学习6偶数分频器奇数分频器完整分频器代码仿真波形图结束语偶数分频器假设为 N 分频,由待分频时钟触发计数器计数,当计数器从 0 计数到 N/2-1 时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。四分频原理图:奇数分频器实现占空比为 50%的 N 倍奇数分频进行上升沿触发进行模 N 计数,计数选定到某一个值进行输出时钟翻转,然后经过(N-1)/2 再次进行翻转得到一个占空比非 50%奇数 n 分频时钟。进行下降沿触发的模 N 计数,到和上升沿触发原创 2020-08-11 09:58:19 · 2532 阅读 · 0 评论 -
vivado综合常见报错(持续更新)
[Synth 8-434] mixed level sensitive and edge triggered event controls are not supported for synthesis错误原因:一个触发器不能同时是边缘触发和电平触发的,因此不可被综合。所以最好统一,上图的情况可以去掉negedge。...原创 2020-07-16 11:15:43 · 7434 阅读 · 0 评论 -
从零开始的FPGA学习6-加法/减法计数器
从零开始的FPGA学习6-计数器加法计数器原理代码仿真波形RTL减法计数器原理代码仿真波形RTL结束语加法计数器原理每次时钟脉冲信号 clk 为上升沿时, 计数器会将计数值加 1。下图为模4计数器。代码module lab( input clk, output reg [3:0]Q=0 //模16计数器 ); always @(posedge clk) begin Q<=Q+1; end原创 2020-07-14 14:33:32 · 4233 阅读 · 0 评论 -
从零开始的FPGA学习4-比较器、全加器
从零开始的FPGA学习4-比较器、全加器比较器原理代码仿真波形图全加器真值表代码仿真波形图RTL图:结束语比较器原理注:这里的比较器引入了时钟,更丰富。引脚说明:A、B:输入信号,位宽为2CLK:时钟输入RST:为0时比较器正常工作,为1时复位AGTB :当 A>B 时,其值为 1,否则为 0AEQB :当 A=B 时,其值为 1,否则为 0ALTB : 当 A<B 时,其值为 1,否则为 0代码module lab( input [1:0]A,B, i原创 2020-07-13 15:58:01 · 3587 阅读 · 0 评论 -
从零开始的FPGA学习3-设计简单的组合逻辑电路
从零开始的FPGA学习3-设计简单的组合逻辑电路4-2线编码器4-2线编码器 真值表:D0-D3为输入,Q0-Q1为输出。代码:module encoder( input [3:0]D, output reg[1:0]Q ); always@* begin case(D) 4'b0111:Q=2'b11; 4'b1011:Q=2'b10;原创 2020-07-12 23:22:47 · 696 阅读 · 0 评论 -
从零开始的FPGA学习2-第一个实验
从零开始的FPGA学习2第一个程序--LED第一个程序–LED下面展示一些 内联代码片。// A code blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';原创 2020-07-12 20:51:20 · 417 阅读 · 0 评论 -
从零开始的FPGA学习1-准备篇
软硬件准备下载vivado 2018.2,Xilinx官网上有,但下载速度慢,用的前辈百度网盘资源用的Xilinx公司的pynq-z2,还有一块便宜点的小板子;另外准备了一个Arduino UNO和其他外设,便于之后的SPI通信、IIC通信等。基础知识学习正好有 verilog数字设计教程-夏闻宇 和 搭建你的数字积木-数字电路逻辑设计的电子书,把最基本读语法、语句和结构过了一遍,然后准备上手软件写一些简单的代码,代码也会在下一个博客贴出来。...原创 2020-07-12 16:33:32 · 537 阅读 · 0 评论