![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
fpga
I am a FPGAer
12年工程经验,专注于FPGA开发,硬件设计。
展开
-
使用FPGA驱动GS2972(3G-SDI模式)外同步(HSYNC VSYNC DE)或内同步(BT1120)输出SDI彩条调试
GS2972初始化为SMPTE模式,在SMPTE模式下芯片有两种视频数据组织形式,一种是芯片根据所给的视频数据自动检测并生成行场同步信号,还有一种是需要将写好的行场同步信号传给芯片。需要了解相关视频标准、传输标准、显示标准,协议较多,版本较多,彻底了解并非一件简单的事情。后续,作者会陆续记录视频相关标准的学习。1.结合上下时序图可知,line1-line41为场消隐,line1122-line1125为场消隐,共45行场消隐。3.此处的行场同步并非,我理解的在行同步时,行同步拉高,在场同步时场同步拉高。原创 2023-06-05 15:56:51 · 3277 阅读 · 0 评论 -
xilinx xdma PCIe中断bug
xdma中断bug原创 2023-03-29 11:23:49 · 2057 阅读 · 2 评论 -
两段式状态机书写注意事项
状态机原创 2023-03-22 16:04:45 · 76 阅读 · 0 评论 -
DAC补码求源码的过程
补码求源码原创 2023-03-10 09:38:04 · 364 阅读 · 0 评论 -
AD采样率和DA更新率的定义
采样率更新率原创 2023-03-10 08:53:28 · 452 阅读 · 0 评论 -
Sublime的安装及使用
sublime原创 2023-03-02 09:05:21 · 297 阅读 · 0 评论 -
ddr3写操作app_wdf_end说明
ddr3原创 2023-02-16 15:52:47 · 507 阅读 · 0 评论 -
aurora8b10b调试
aurora8b10b代码调试。原创 2022-12-07 15:57:50 · 119 阅读 · 0 评论 -
等精度频率计
一、频率测量的基本原理找出单位时间内待测脉冲的个数。通常这个单位时间是指1s,当然也可以设置0.1是,可以换算出频率。比如上图的频率是6Hz。二、单位时间的确定基准时钟CLK_FS,为晶振输入的自由运行的时钟。上述的单位时间,我们称作为门控时间。在门控时间内基准时钟的个数成为fs_cntgate_time = fs_cnt*(1/CLK_FS) .待测信号频率clk_fx;门控时间内clk_fx的个数为fx_cnt。gate_time=fx_cnt*(1/clk_fx)fx_cnt*原创 2022-04-08 23:41:00 · 2561 阅读 · 0 评论 -
force产生脉冲和repeat的使用
initial begin wait (rd_ch1_fifo_clr==1'b1); repeat(5) @(posedge clk_50MHz); force GK0781_Prj_inst.app_cmd_done =1'b1 ; @(posedge clk_50MHz); force GK0781_Prj_inst.app_cmd_done =1'b0 ; end原创 2022-04-05 15:22:28 · 237 阅读 · 0 评论 -
task的使用方法
task gen_data_ch2; input [31:0] data_num; integer k; begin wait (inter_rst==0); for (k=0;k<data_num;k=k+1)begin @(posedge uut_ad_chip_module_clk ) ch2_data={$random}%8001; ch2_data_vld=1; end @(posedge uut_ad_chip_module_.原创 2022-04-04 17:37:31 · 113 阅读 · 0 评论 -
standard fifo和fwft fifo的区别
standard fifo 的latency=1;fwft fifo的latency==0,即数据和rd_en同步。fwft fifo的valid一直有效。almost full和almost empty表示还剩一个存储空间fifo就满了或者空了。原创 2022-03-17 14:50:27 · 3965 阅读 · 0 评论 -
输出0-500KHz方波
一次笔者在做项目时,甲方要去输出输出0-500KHz方波,精度千分之一。按照一般对主时钟进行分频的方法实现,势必有分频系数不是整数的现象,导致精度达不到。故采用dds进行频率合成。dds输入主时钟是50MHz,量化位宽为32位,即采用2^32对50M进行量化,每一份的精度是非常的小,满足精度要求。设计思路:dds输出的是正弦波,然后利用一个比较强对正弦波的过零点进行比较,得到一个同正弦波频率的一个方波,满足甲方要求。由于dds输出本身是有符号数据,正弦波的过零点正好是正负数据交替的时刻,我们判断数据大于0原创 2022-03-10 17:28:36 · 805 阅读 · 0 评论 -
黑金dds代码理解
不明白此公式的意义黑金官方解释:因为dadata是输出给DA器件的。-5V----+5V对应的有符号数字是-128----+127,对应的无符号数字是0–255,所以有符号数据转换为无符号数据应+128。另有网友解释:无符号数字0-127表示负电压,128表示正电压,128—255表示正电压。...原创 2022-03-10 13:45:31 · 262 阅读 · 0 评论 -
RAM读with primitive output register
RAM读with primitive output registerREG1 is the data at the output of the primitive output register.原创 2022-03-07 17:11:26 · 316 阅读 · 0 评论 -
AXI LITE和full的区别
axi_lite的突发长度是1,适用于慢速数据传输。axi_full的突发长度是16,针对于AXI3。axi_full的突发长度是256,针对于AXI4。适用于快速数据传输。原创 2022-03-04 15:02:12 · 977 阅读 · 0 评论 -
ddr3仿真遇到的问题
一、问题现象一次笔者在承接前任同事项目时,需要对部分功能进行仿真,上电测试时ddr3功能正确,但是仿真时ddr3报错。提示除法操作结果无穷大,如下图。二、解决办法因为ddr3上电测试功能正常,基本的读写操作应该没有问题。问题大概率在ddr3_model上,检查model没有发现任何连接问题。打开MIG界面发现pin兼容全部选中,去掉后一切正常。...原创 2022-03-01 16:50:12 · 679 阅读 · 1 评论 -
generate语句的使用
generate语句一般用作模块复制:注意事项:generate语句在使用前需要先使用genvar定义变量;generate语句配合for使用的时候for必须有begin,且需要加标签。下图作者使用vivado进行编译时候(标签为target_seq,和变量名一样)未报错,但是使用modelsim编译的时候报错。将标签改为target_seq_s后可以编译通过。genvar target_seq;generate for(target_seq=1; target_seq<21; targ原创 2022-02-24 16:03:02 · 1875 阅读 · 0 评论 -
force语句的使用
笔者在一次仿真工程中,想通过force语句强制使内部的某个信号赋值,将仿真遇到的一些问题总结如下:不管内部信号是reg还是wire,在force赋值时都是reg。reg reco_coor_vld ;//zuobiaoreg reco_frm_vld ;//IDreg stim_conf_vld ;//moniyuan reg start_send_vld ;//send reg [31:0原创 2022-02-24 10:28:18 · 2563 阅读 · 0 评论 -
图像处理相关问题
一、DDR3能够存多少帧的问题2片DDR3,每片256M16bit。图像源是934470008bit,请问2片DDR3可以存多少帧的问题?计算过程:(2片2561024102416)/ (93447000*8)=16.416帧。二、DDR3的最大地址?always @ (posedge I_ui_clk or posedge I_rx_rst) begin if(I_rx_rst) app_addr <= 28'd0; else if(fifo_vld==1'b1) if原创 2021-12-20 10:58:12 · 1219 阅读 · 0 评论 -
抠图地址计算
一、抠图地址计算DDR3的位宽为32bit,8突发,一次读256bit,即一次读32个字节。要抠128*128的图片,每一行需要读4次。128/32=4.原创 2022-02-19 15:52:30 · 55 阅读 · 0 评论 -
时钟周期约束的方法
时钟约束和物理约束一般分为2个文件一目了然。约束的属性告诉我们约束使用在综合还是实现。时序约束一般在综合和实现都需要用到,物理约束一般应用于实现。一、primary clockprimary clock来自端口或者gigabit传输器输出。二、generated clock生成时钟包括用户分频时钟和pll/MMCM/BUFR生成的时钟。其中后者生成的时钟无须约束,只需要约束输入即可。注意自动生成的时钟名字一般就是输出net的名字,比如上图的cpuclk。注意上图get_pins 指向的原创 2022-02-07 15:04:42 · 995 阅读 · 0 评论