![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA
文章平均质量分 92
日拱一卒_未来可期
不懂历史的FPGAer不是一个好厨子
展开
-
HLS入门简述
简要介绍HLS工具原创 2023-07-11 20:59:41 · 2516 阅读 · 0 评论 -
为什么D触发器需要建立时间与保持时间
为什么D触发器需要建立时间与保持时间定义建立时间:时钟有效沿到来之前的某段时间内,数据必须稳定,这段时间称为建立时间,用Tsetup或者Tsu表示。保持时间:时钟有效沿到来之后的某段时间内,数据必须稳定,这段时间成为保持时间,用Thold或者Th表示。时序图如下为什么需要建立时间和保持时间从CMOS到建立时间和保持时间这篇文章里作者已经讲的很详细了,我就不再赘述锁存器的原理了,大家有疑问的话可以先去看看这篇文章,这里我只简单举例记录一下我个人对建立时间和保持时间的理解。我们从D触发器的门级电原创 2021-05-17 10:25:42 · 4213 阅读 · 0 评论 -
Vivado中RTL封装IP流程
Vivado中RTL封装IP流程前言本文记录自己将RTL代码封装成IP的流程,以供之后查阅使用。最近一个月在做一个数据仲裁与转发的项目,已经完成功能仿真,准备将其封装成IP在Block Design中进行调用。实验平台为Vivado 2018.3,编程语言为Verilog,IP的接口主要是一个AXI-Lite接口和一个AXI-Full接口。闲言少叙,我们直接开始。详细流程准备工作新建一个文件夹ip_test,在该文件夹下新建文件夹rtl,将所有RTL源码放入该文件夹,完成准备工作;新建一个文件原创 2021-05-13 17:19:41 · 4202 阅读 · 3 评论 -
System Verilog学习小结
System Verilog课程小结第一周问题1:设计人员和验证人员他们的协作关系体现在哪些地方?1.设计人员和验证人员都需要围绕功能描述文档开展工作2.设计只有经过充分量化验证,才有信心去流片3.验证人员需要懂设计才能很好地向设计人员反馈设计漏洞4.设计初步实现后即需要验证工作的加入5.在系统由低向高的集成过程中,验证与设计需在每一层展开工作,确保每一个阶段的充分性问题2:为什么芯片验证的重要性目前越来越高?答:早期的芯片开发工作由于晶体管数目少,电路规模也小,因而搭设电路时的难度和精度原创 2020-12-09 19:50:32 · 4370 阅读 · 1 评论 -
FPGA学习之路—Vivado与Modelsim联合仿真
Vivado与Modelsim联合仿真笔者在学习FPGA过程中遇到了如何使用Vivado和Modelsim进行联合仿真的问题,特此记录。首先确定版本笔者Vivado用的是2018.3版本,先是随便下了个Modelsim10.1c的版本,到编译库文件时报错了,后来发现是俩款软件的版本不匹配。所以大家在进行联合仿真之前先核对两个软件的版本是否对应,不用到最后再卸载重装。Vivado Design Suite 2018.3Mentor Graphics ModelSim SE/DE/PE (10.6c)原创 2020-11-05 15:33:54 · 27048 阅读 · 14 评论 -
Ultra96_v2实现交通标示识别
Xilinx暑期学校项目—基于Ultra96_v2实现交通标示识别项目地址项目Github地址概述本项目通过构建一个轻量化神经网络在Ultra96_v2上完成网络的前向计算过程,通过对网络进行量化减少参数量与计算量,使之便于部署到嵌入式设备中。利用FPGA并行化、流水化的优势,提高检测的实时性。项目的主要工作如下:用Pytorch搭建所需网络并进行训练,并按照硬件需求完成网络的参数量化工作,生成HLS所需的权重参数文件。网络的权重和激活均为4bit数。借鉴已经开源的HLS网络各模块的加速设计,原创 2020-08-01 11:23:08 · 988 阅读 · 0 评论 -
基于PYNQ-Z2开发板实现矩阵乘法加速详细流程
基于PYNQ-Z2开发板实现矩阵乘法加速主要内容1、在Vivado HLS中生成矩阵乘法加速的IP核。2、在Vivado中完成Block Design。3、在Jupyter Notebook上完成IP的调用。完整项目工程文件下载链接见文末所需硬件PYNQ-Z2开发板、USB数据线、网线SD卡、读卡器开发板配置参考链接1、Vivado HLS生成矩阵乘法加速IPHLS硬件配置信息mul.h关键代码#define MAT_A_ROWS 32#define MAT_A_COLS原创 2020-06-15 20:38:05 · 4176 阅读 · 6 评论 -
FPGA学习之路—接口(3)—SPI详解及Verilog源码分析
FPGA学习之路——SPI详解及Verilog源码分析概述SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线。优点支持全双工支持高速协议支持字长不限于8bit,可以根据应用灵活选择消息字长。硬件连接简单缺点相比I2C多两条线没有寻址机制,只能靠片选选择不同的设备没有回应ACK机制,主设备不知道消息发送是...原创 2020-05-03 12:29:56 · 9499 阅读 · 4 评论 -
FPGA学习之路—接口(2)—I2C协议详解+Verilog源码分析
FPGA学习之路——I2C协议详解+Verilog源码分析定义I2C Bus(Inter-Integrated Circuit Bus) 最早是由Philips半导体(现被NXP收购)开发的两线时串行总线,常用于微控制器与外设之间的连接。I2C仅需两根线就可以支持一主多从或者多主连接,主要优点为简单、便宜、可靠性高,I2C总线示意图如下。SDA(Serial Data):串行数据线SCL...原创 2020-05-01 14:33:44 · 6699 阅读 · 6 评论 -
FPGA学习之路—接口(1)—URAT Verilog程序设计
FPGA学习之路——URAT Verilog程序设计UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是广泛使用的异步串行数据通信协议。UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。Tx—数据发送接口Rx—数据接收接口两个设备间将TX与RX相连,RX与TX相连即可正常工作。最常用...原创 2020-04-30 16:26:44 · 1604 阅读 · 1 评论