基于FPGA的二维DCT变换和逆变换verilog实现,包含testbench
离散余弦变换(Discrete Cosine Transform,DCT)是一种广泛应用于图像和信号处理领域的变换技术。在图像处理中,DCT常被用于图像压缩,如JPEG标准中就采用了DCT变换。FPGA(Field Programmable Gate Array)作为一种可编程逻辑电路,具有并行处理能力强、可重构性高等特点,非常适合实现DCT变换和逆变换。 二维DCT是一种在图像处理和压...
平时积累的FPGA知识点(6)
平时在FPGA群聊等积累的FPGA知识点,第六期: 1 万兆网接口,发三十万包,会出现掉几包的情况,为什么? 原因:没做时钟约束,万兆网接口的实现,本质上都是高速serdes,用IP的话,IP会自带约束。 2 GT ip会输出一个rx clk 和tx clk,这俩都是恢复出来的主时钟,需要手动加create_clock吗? 解释:如果是7系列FPGA就要约束,之后的就不用。 3 vivado闪退后就打不...
平时积累的FPGA知识点(7)
平时在FPGA群聊等积累的FPGA知识点,第七期: 11 描述扇出的xilinx官方文档是? 解释:ug949 12 在BD中如何指定某个IP用global,其他的用OOC模式?因为某个模块引用的IP带着XPM,综合不了 解释:无法单独指定IP的使用方式。 13 –hier_fanout_limit 是全局的吗(arg 表示数字,使用方式例如opt_design –hier_fanout_limit 1...
基于FPGA的ECG信号滤波与心率计算verilog实现,包含testbench
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 ECG信号的特点与噪声 4.2 FPGA在ECG信号处理中的应用 4.3 ECG信号滤波原理 4.4 心率计算原理 4.5 FPGA在ECG信号处理中的优势 5.算法完整程序工程 1.算法运行效果图预览 其RTL结构如下: 2.算法运行软件版本 vivado2019.2 3.部分核心程序 ..............
平时积累的FPGA知识点(8)
平时在FPGA群聊等积累的FPGA知识点,第八期: 21 FFT IP核 有遇到过FFT IP核测量频率不准确的问题吗?大部分情况下都是准的,偶尔偏差比较大,IP核输入的数据用matlab计算出的频率是对的。 解释:可能是采样点数不对, 如果采样率是固定的,那只有点数会影响频率了。IP不会自动处理,要根据你给的tlast和 ip设置的一不一致来看。 变换长度参数设置的2048,如果输入的数据长度不够20...
FPGA转行ISP的探索之二:技术路线和概念
各种嵌入式系统中,如数字相机、智能手机、安防监控等。 6 ISP的工作 大致理解ISP的工作是在做固件/驱动,会看已有产品的芯片手册,会用OpenCV编程(C语言或者Python),可能也有一部分类似FPGA的工作,只不过因为芯片是固定的(ASIC),是了解而不是HDL编程。 ...
FPGA转行ISP的探索之一:行业概览
ISP的行业位置 最近看到一个分析,说FPGA的从业者将来转向ISP(Image Signal Process图像信号处理)是个不错的选择,可以适应智能汽车、AI等领域。故而我查了一下ISP,对它大致有个概念。 传统的ISP对应的是相机公司,它是相机里的一个核心环节,可以称作成像引擎,就像汽车里的发动机一样重要。 ISP在相机成像的整个环节中,它负责接收感光元件(Sensor)的原始信号数据,可以理解为...
平时积累的FPGA知识点(11)
平时在FPGA群聊等积累的FPGA知识点,第11期: 51 可以把dcp文件封装到自己ip里吗? 解释:不可以 52 fifo的异步复位要做异步复位同步释放吗? 解释:要跟写时钟同步,所以需要在ip外部做一下同步释放 53 vivado报错 Phase 6.1 Hold Fix Iter Phase 6.1.1 Update Timing Abnormal program termination (EX...
AMD FPGA设计优化宝典笔记(4)复位桥
高亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西: 第一个东西是代码的良好风格; 第二个是设计收敛等的本质。 这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触发器、移位寄存器、存储器、乘加运算单元、状态机、扇出、布线拥塞。大部头的书看起来比较痛苦,我简化的方式,选择触发器一章入手,这个平时有点了解,也觉得看完会用上的概率大一些。这章是书的第4章,复位桥方...
AMD FPGA设计优化宝典笔记(3)控制集
控制集 1 控制集的个数要求 控制集 control set:因为 7 系列 FPGA,一个 slice 只能有一种控制集(触发器的使用方式 比如有复位/有时钟使能等等),多了就会分布到不同的 slice 里, 所以代码尽量统一触发器的控制集使用方式,不要超限制(xilinx 给出的比例是尽量小于总控制集个数的 7.5%)。合理的使用举例,总控制集数769个,用了37个,比例是4.8%,这是用tcl指令...