FPGA
搞FPGA开发的Tony老师
非主流FPGA开发人员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FPGA Base 亚稳态检测电路
FPGA 亚稳态的概念与检测带你路原创 2023-02-22 23:09:15 · 363 阅读 · 2 评论 -
FPGA Tcl/TK —— Tcl调用python文件并传参
vivado tcl 做自动化编译前的准备转载 2023-02-21 23:04:34 · 1419 阅读 · 0 评论 -
FPGA Tcl/TK —— DateTime Format
FPGA Tcl脚本学习转载 2023-02-21 22:44:27 · 420 阅读 · 0 评论 -
FPGA Base Xilinx跨时钟域宏XPM_CDC
Verilog HDL 核心在于Hardware Description Language,掌握基础后通过搭积木的方式来形成你的设计,XPM_CDC在命名上已经告知用户不同的XPM_CDC用于处理不同场景下的跨时钟域处理。如果对于截图中的CDC用法不是很了解,建议在bing上搜索,会有很丰富的资料讲解。最近看手底下的小伙子们写代码,对于跨时钟域的处理极度的不规范,还是放下这句话。其实Xilinx公司已经为用户提供了宏定义,实现跨时钟域处理,见截图。习惯养好,不说称为优秀的FPGA工程师,至少不拉跨。原创 2022-11-26 20:24:52 · 3796 阅读 · 0 评论 -
Xilinx Arch PCIE卡
FPGA PCIE卡 经验杂谈原创 2022-10-03 22:47:54 · 738 阅读 · 0 评论 -
Xilinx Vivado2019.2 XPM_FIFO xpm_fifo_async
最近用Xilinx的XPM ,居然踩到坑了如下图所示,在释放复位以后,XPM_FIFO的复位信号那是过了好久才释放需要对复位释放的时间进行注意了如果在复位没有释放的时候对FIFO机型写操作,写不生效...原创 2022-03-16 22:55:23 · 3116 阅读 · 0 评论 -
远程访问Modelsim及Matlab的方法
远程访问Modelsim及Matlab的方法实际工作中经常需要在实验室远程访问办公室的PC,使用Matlab和Modelsim这里插个旗子, 记录如何远程访问Modelsim及Matlab的方法如图所示采用Notepad++打开对应软件的license,然后在license的每一行最后加上TS_OK,即可实现远程桌面打开Modelsim及Matlab!目前还在使用Notedpad++,最终我会过渡到vim+VSCode下...原创 2022-03-12 17:16:24 · 1121 阅读 · 0 评论 -
2022年技术规划
2022年准备计划做以下事情1,推进systemVerilog在团队内的使用,随着项目的进行,基于amba总线的工程越来越大,采用sv会解决一些问题2,推进VCS仿真工具的使用,实现UVM平台的搭建3,考虑FPGA开发向数字前段靠近,严格要求开发仿真流程4,继续开展组内模块分享与技术交流,实现技术的共同进步...原创 2022-01-27 23:19:28 · 598 阅读 · 0 评论 -
FPGA Base Xilinx AMBA AXI Protocol Checker小试
AMBA中AXI总线目前已经广泛的在FPGA中使用Xilinx为用户提供了很多关于AXI接口相关的IP,今天这里的主角就是Xilinx的《AXI Protocol Checker》用户在编写玩AXI4接口的模块后,可以使用该IP对读写功能进行验证然后在PC_Status端口检查错误异常标志位,看接口是否满足标准的AXI3、AXI4、AXI4-Lite功能避免重复造轮子,可以提高工作效率,实际使用时,只需要按照如下的拓扑,插入监控模块即可这里实现了一个ST2AXI4的i接口转换,只对写端口进行了原创 2021-10-03 23:54:58 · 998 阅读 · 0 评论 -
FPGA Base Modelsim提示(vlog-2155) Global declarations are illegal in Verilog 2001 syntax.
错误提示 :Modelsim 提示(vlog-2155) Global declarations are illegal in Verilog 2001 syntax.解决方法:1 、采用绝对路径包含头文件2、把报错的头文件从编译路径中删除经过测试,方法2测试解决了问题…( ╯□╰ )...原创 2021-09-08 22:42:46 · 2403 阅读 · 8 评论 -
FPGA Altera Remote Update笔记
最近种种原因接手了一个altera的项目,其实对于FPGA工程师而言,Xilinx和Altera都是不错的选择。但是因为人的精力总是有限的,可能也是自己比较懒惰,在平台之间切换而不能专注于设计本身,花费大量的时间学习工具或者每一家特有的 IP,内心主观医院认为这样的工作对于FPGA工程师个人而言,增值有限。吐槽完了,进入今天的主题,聊一聊Altera的远程升级子系统远程升级子系统核心包括对用户侧接口的适配(RSU Control Module)、Flash控制器、RSU IP Core三部分这里高亮原创 2021-08-04 00:59:23 · 2979 阅读 · 0 评论 -
Matlab Imaging Processing Toolbox——fsepecial
Matlab Imaging Processing Toolbox——fsepecialMatlab Imaging Processing Toolboxfspecial 函数usage说道图像,默认想到的都是二维的数组三通道或者四通道的结构,但是对于线阵CCD图像而言,它输出的也是一维线阵图像Matlab Imaging Processing Toolboxfspecial 函数usageh = fspecial(type)h = fspecial('average',hsize)h = f原创 2021-07-27 23:23:14 · 926 阅读 · 0 评论 -
FPGA Xilinx 高速串行收发器横向比较
长时间没有做高速相关的FPGA单板开发,一直停留在GTX和GTP的时代是时候梳理一下,从Xilinx的7系列到目前的ultrascale系列,收发器的line rate越来越高,强大的管道能力,是支持目前大数据时代海量数据传输的基础。GTMGTYGTHGTXGTP收发器结构上的异同上述五种高速收收发器之间,存在不同点...原创 2021-06-28 19:16:03 · 2122 阅读 · 2 评论 -
FPGA Intel MAX10配置小结
之前在工作中项目中也已经接触过MAX10,但是没有仔细研究其加载的方式,最近准备用MAX10做个应用,发现实际MAX10的加载方式和自己相的不一样,这里做个笔记加以记录。Intel MAX 10的加载方式目前来看,只有2种方式Jtag配置内部配置JTAG配置JTAG配置优先级最高,采用标注你的JTAG的接口对芯片,直接对芯片内CRAM进行读写访问此处,会议一下JTAG接口的定义内部配置需要将配置数据编程到配置闪存(CFM),即将工具目标文件(.pof)烧录到CFM中。内部配置启动过原创 2021-06-12 15:50:22 · 3246 阅读 · 0 评论 -
FPGA Base 时钟无毛刺切换电路
在FPGA设计中其实并不推荐对时钟进行切换,但是在芯片设计中,弱队功耗有要求时,则会使用时钟切换技术。下面给出一个altera时钟切换示意图位选信号sel分别作用于两个时钟域,且互斥。经过跨时钟域处理后,和时钟相与每次只有一个时钟工作,另外一个时钟常为0.,所以最后两个时钟经过一个异或门,输出clk_out...原创 2021-06-08 22:41:32 · 362 阅读 · 0 评论 -
FPGA MCU FSMC通信接口——NAND Flash模式
FPGA MCU通信——异步接口(仿NAND Flash)FPGA MCU通信——异步接口MCU侧开发注意事项FPGA侧注意事项FPGA MCU通信——异步接口之前很早就听说了FSMC(Flexible static memory controller)接口用于MCU与FPGA之间的通讯最近使用的一款MCU与FPGA之间通讯,FPGA模拟成NAND Flash作为Memory让MCU读写FPGA与MCU之间的连接方式如下所示上述信号定义如下这里可以看到,NAND flash访问是,Maste原创 2021-06-04 00:52:52 · 6216 阅读 · 0 评论 -
FPGA Peripheral ADC调试
FPGA Peripheral ADC调试FPGA Peripheral ADC调试AD4001结构SAR结构示意图钳位电路分析与作用应用FPGA Peripheral ADC调试FGPA外设中ADC是比较常见的,最近,调试的是来自于ADI公司的AD4001本文的目的是从ADC内部的结构开始讲解,理清手册上时序的细节,和需要注意的地方AD4001结构AD4001采用差分输入,内部带有钳位电路虚线框标注的高阻态模式、跨度压缩都是可以通过控制寄存器进行使能控制信号到达内部16-BIT SAR A原创 2021-06-01 00:25:05 · 1324 阅读 · 0 评论 -
FPGA Vivado 调试提示ILA时钟有问题
Vivado 调试报错,显示ERROR: [Labtools 27-3412] Mismatch between the design programmed into the device 'xc7a100t' (JTAG device index = '0' and the probes file(s) 'E:/0_WORK/FQPB_Prj/par/FQPB_Prj_0126.runs/impl_1/IDCU_FPGA_TOP.ltx'. The hw_probe 'u0_sys_clk_gen/原创 2021-05-17 14:14:35 · 19176 阅读 · 0 评论 -
FPGA Modelsim 仿真时让状态机波形显示状态名字
在使用Verilog编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示(如IDLE等)。当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进制编码的形式显示,如下面所示,这种显示形式不是很直观,但我们可以使用ModelSim提供的命令将状态机变量以“文本”形式的参数名显示,从而有利于调试。下面以一个实例来说明。代码来源:http://www.cnblogs.com/oomusou/archive/2011/06/05/fsm_coding_style.html源文件: 1 /*转载 2021-05-12 15:12:33 · 1613 阅读 · 1 评论 -
FPGA ISP 线阵CCD
以前从来没用过线阵CCD,这次有机会,对线阵CCD了结了一下,做个笔记记录一下。核心参数有:分辨率像元尺寸封装形式内部基本的框图如下外部的Master控制CCD的积分时间,提供读出时钟。CCD本身完成采样、保值功能,然后通过移位寄存器将数据输出 。同样线阵CCD也有自己的光谱响应曲线,不同的波长,有不同的响应。在工业视觉检测中,工业照明光源的选择,需要同时考虑CCD相机的光谱响应曲线与镜头窗口玻璃搭配使用。...原创 2021-04-11 22:10:47 · 771 阅读 · 2 评论 -
FPGA Xilinx HLS 工程优化
FPGA Xilinx HLS 工程优化在完成代码的基本开发以后,需要针对面积或者性能进行优化,常用的优化技术分为一下2个方向优化的方式HLS Pragmas在源文件中添加,每次代码在综合时,编译器根据pragma进行对应的优化Optiminzation Directives以Tcl脚本的形式,采用set_directive命令,以solution的方式对工程进行优化比较两种优化方式:优化的作用域在使用directives时,需要考虑被作用的对象,可以对以下对象或域进行优化原创 2021-03-15 22:32:12 · 445 阅读 · 0 评论 -
FPGA Xilinx HLS hls_math.h库
hls_math 使用事项In file included from ../../../../apint_arith.c:94:0:D:/EDA/Xilinx/Vivado/2019.2/include/hls_math.h:36:17: fatal error: cmath: No such file or directory #include <cmath> ^compilation terminated.make: *** [obj/apin原创 2021-02-23 11:17:00 · 1752 阅读 · 0 评论 -
FPGA Base 奇偶校验
忘记了奇偶校验的定义了,补一篇灌水的帖子 ^ _ ^定义奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中****1的个数是奇数或偶数来进行校验。奇校验 数据中1的个数为奇数偶校验 数据中1的个数为偶数采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。异或运算定义异或的运算法则为:0⊕0=0,1⊕0原创 2021-02-02 23:23:12 · 917 阅读 · 0 评论 -
运动控制 轨迹规划综述
运动控制 轨迹规划综述对于一个机器人系统,一般都会经历加速、匀速、减速的运动过程。在整个运动过程中,速度随时间的变化曲线称为速度曲线。常见的速度曲线主要有:梯形曲线(T型)、S型曲线(S)多项式曲线等。同梯形速度曲线相比,S型速度曲线对电机和传动系统的冲击伤害会更小,但是在相同的最大速度和最大加速度喜爱,S型速度曲线在运动相同的位移下,其时间要更长。梯形运动规划对于一个梯形速度曲线,主要包括匀加速、匀速、匀减速过程。对于S型速度曲线,一般主要包括加加速匀加速减加速匀速加减速匀原创 2021-01-21 16:52:08 · 2446 阅读 · 0 评论 -
FPGA Xilinx 7系列XADC学习
XADC介绍外部模拟输入XADC例化XADC工作模式单极性模式双极性模式XADC介绍首先看XADC的框图XADC内部包含2个12位1MSPS的ADC所有XADC相关的引脚都在bank0上,推荐种配置方式:Vccaux(1.8V)和外部1.25V作为参考源使用片上电压作为参考外部模拟输入所有的模拟输入均为差分输入,输入引脚位于bank15和35模拟输入的IO引脚命名有ADxP 或 ADxN前缀XADC例化在不例化XADC的情况下,只有通过Jtag的方式访问XADC,用户.原创 2021-01-17 20:46:52 · 6261 阅读 · 2 评论 -
FPGA Altera modelsim仿真问题记录
FPGA Altera modelsim仿真问题记录仿真仿真Altera IP仿真仿真Altera IP参考该博客链接: (https://www.cnblogs.com/tanqiqi/p/9138358.html).进行三速以太网的IP核仿真 ,按照博主的操作进行,但是需要注意的是:1、用户不要修改modelsim的安装目录modelsim.ini文件,添加自己已经编译好的仿真库文件,会引起冲突和错误。特别是电脑中安装了多个版本的Quartus2、EDA软件安装、工程路径中不要出现中文,mo原创 2021-01-02 17:32:12 · 271 阅读 · 0 评论 -
FPGA Nios II学习笔记一
FPGA NIOS ii复位信号全局硬件复位信号 reset外部输入,高电平有效,强制处理器核进入复位本地复位信号 cpu_resetrequest高电平有效,只让CPU复位,而NIOS II系统中的其他元件不受这个复位影响异常和中断NIOS II中讲中断机制统称为异常,根据类型分为以下五类根据中断来源可以分为内部中断Nios II支持32个内部中断,在Qsys为中断分配优先级系统产生中断的条件:1、Status控制寄存器中断PIE位置12、某个中断请求有效3、在ie原创 2020-12-19 21:45:46 · 1018 阅读 · 1 评论 -
FPGA Base 状态机编写
FPGA Base 状态机编写说来惭愧,再写了不少HDL代码以后,当被问到三段式状态机的写法是如何实现的,我却不知道,平时基本都是用2个always语句实现。所以今天补一篇关于状态机的文档,针对以前自己不规范的开发做一个约束。状态机的基本要素:状态状态变量,使用状态划分逻辑顺序和时序规律输出在某一个状态时特定发生的时间输入状态机中进入每个状态的条件,有的状态机没有输入条件,其中的状态转移较为简单;有的状态机有输入条件,当某个输入条件存在时才能转移到相应的状态分类摩尔状态机输出仅原创 2020-10-06 14:47:27 · 356 阅读 · 0 评论 -
FPGA ZYNQ学习 开发环境搭建
Ubuntu20.04 安装Zynq开发交叉编译环境安装文件:xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin1 安装交叉编译器出问题1.1 64位系统缺少32位库安装缺少的32位库,以前的ia32-libs已经被lib32z1取代解决办法sudo apt-get install lib32z11.2 shell 版本不对./arm-2010q1-202-arm-none-linux-gnueabi.bin错误信息如下Checking fo原创 2020-10-04 22:37:23 · 937 阅读 · 0 评论 -
FPGA GoWin PLL
FPGA GoWin PLL最近在运用高云FPGA做开发,在使用了一段时间以后,对PLL软件界面里面那么多参数实在是比较蒙,因为时间问题,也没有深入看高云的手册。昨天在整理完Xilinx的锁相环用法以后,今天再来看看高云的FPGA锁相环结构。做人做技术,一碗水要端平,是不是?锁相环必然有工作频率范围,这个范围约束了输入频率和输出频率输入时钟还是先倍频在分频,倍频系数、分频系数组合,确定...原创 2020-04-23 22:43:29 · 4504 阅读 · 0 评论 -
FPGA Xilinx MMCM深入学习
FPGA Xilinx MMCM深入学习研究7系列MMCME2_ADV原语,看能否自己对MMCME2_ADV封装,这样避免工程在不同器件及版本之间切换,需要重新生成所有的IP// MMCME2_ADV : In order to incorporate this function into the design,// Verilog : the following instance...原创 2020-04-22 14:56:55 · 8779 阅读 · 0 评论 -
FPGA AMBA总线
FPGA AMBA总线原创 2020-04-21 10:53:39 · 609 阅读 · 0 评论 -
FPGA Modelsim关联第三方编辑器
Modelsim调用第三方编辑器参考代码1proc external_editor {filename linenumber} {exec "D:\\Program Files (x86)\\Notepad++\\notepad++.exe" -g $filename :$linenumber}set PrefSource(altEditor) external_editor参考...原创 2020-04-20 18:40:36 · 1023 阅读 · 0 评论 -
ISP Matlab 图像对比度增强——LCC算法学习
目录ISP Matlab LCC算法学习算法设计思路Matlab实现测试ISP Matlab LCC算法学习LCC算法全名local color correction,用于增强图像的对比度,英文全文在IPOL可以下载。算法设计思路计算输入图像的mask image将输入与mask image进行计算,完成2幅图像的组合Matlab实现下面给出Matlab实现的主体部分,比较简...原创 2020-04-09 17:15:24 · 1620 阅读 · 0 评论 -
ISP FPGA 图像处理卷积的FPGA设计
图像处理卷积的FPGA设计在FPGA上实现图像处理,根据处理图像数据的粒度,基本的可以分为以下三类:基于像素点基于单个像素点的操作最常见的就是黑电平校正、白平衡、色彩空间装换、全局gamma基于图像块基于图像块的操作多用于滤波,例如33、55、7*7的模板,例如边缘提取、去噪等基于帧在图像实时处理过程中,基于帧处理的有3A统计中的亮度统计、以及基于全局的直方图均衡、基于全...原创 2020-04-04 15:36:08 · 2196 阅读 · 5 评论 -
ISP Matlab 图像增强
仿真结果在实际视频的处理过程中,参数的调整如何做到自适应,则是一个必须考虑的问题。Video Processing和Image Processing不完全相同。边缘增强的第一步是找到需要增强的高频分量,但是要明白,不是所有高频分量都是边缘,有一类噪声也属于高频分量。是不是要针对所有的边缘进行增强,图像存在强边缘和弱边缘的。边缘增强的幅度,考虑undershot 和 ove...原创 2020-03-29 22:29:43 · 975 阅读 · 0 评论 -
ISP Matab Gabor滤波器
1. 方式一 Sx,Sy在公式里分别表示Guass函数沿着x,y轴的标准差,相当于其他的gabor函数中的 sigma. 同时也用Sx,Sy指定了gabor滤波器的大小。(滤波器矩阵的大小)这里没有考虑到相位偏移. %%%%%%%VERSION 2%%ANOTHER DESCRIBTION OF GABOR FILTER %The Gabor filter is b...转载 2020-03-26 10:24:23 · 478 阅读 · 0 评论 -
ISP Matlab RGB2YUV主要标准:601/709/2020
RGB2YUV目前的主要标准% BT.601标准Y = 0.299*omg(:,:,1) + 0.587*omg(:,:,2) + 0.114*omg(:,:,3);U = -0.147*omg(:,:,1)- 0.289*omg(:,:,2) + 0.436*omg(:,:,3);V = 0.615*omg(:,:,1) - 0.515*omg(:,:,2) - 0.100*omg(:,...原创 2020-03-23 22:35:25 · 2149 阅读 · 0 评论 -
ISP 光源 光源性能评价
光源的性能评价照度光照强度是指单位面积上所接受可见光的能量,简称照度,单位勒克斯(Lux或lx)。为物理术语,用于指示光照的强弱和物体表面积被照明程度的量色温如果某种黑体,能够将落在其上面的全部热量没有损失的吸收,同时又能够将所吸收的热量完全以光的形式释放出去的话,这种黑体便会因为吸收到的热量多少不同而呈现不同的颜色绝对色温当光源在温度T时发射光的颜色与黑体在某一温度Tc下辐射光的...原创 2020-03-22 15:39:56 · 1734 阅读 · 0 评论 -
ISP Matlab 多尺度的细节增强
ISP Matlab 基于多尺度的边缘增强参考文献:function [] = ft_multiScaleEnhancement()close all;clear all;clc;%% 读入图片fid = './case1/test.bmp';img_in = imread(fid);figure,imshow(img_in),title('1');img_in =...原创 2020-03-21 09:55:20 · 968 阅读 · 0 评论
分享