FPGA
文章平均质量分 72
USB_ABC
这个作者很懒,什么都没留下…
展开
-
HDMI SCDC处理过程
SCDC State and Control Data Channel 接收端如果有SCDC,应该在E-EDID中包含一个有效的HF-VSDB,并且把SCDC_Present位设置为1。在访问SCDC之前,源端必须验证接收端E-EDID中,包含一个有效的HF-VSDB并且SCDC_Present位要设置为1,否则源端不能访问S...转载 2022-02-08 23:42:08 · 3371 阅读 · 1 评论 -
关于LATTICE FIFO_DC的RPReset引脚的解析
What is RPReset port used for in the FIFO_DC module of IP Express?The RPRESET signal in FIFO_DC component is used as an Active High Reset signal for the Read side.To read the contents of the FIFO_DC module, the RPRESET signal should be de-asserted, and t原创 2021-04-20 23:20:46 · 800 阅读 · 0 评论 -
复合视频信号CVBS解析
复合视频信号CVBS解析 做视频处理难免要接触电视信号,了解全电视信号的原理。当我们把电视的信号线接到示波器上时,会发现波形很乱,但总是有一些规律可循:每隔一段特别乱的波形之后有一个很窄的低电平。中间那些特别乱的波形其实就是有效像素电平信号,那些很窄的低电平信号就是一些同步信号。 复合视频信号CVBS(Composite Video Baseband Signal或者Color Video,...转载 2021-04-07 23:02:56 · 7329 阅读 · 0 评论 -
一种多路图像采集系统的软件设计
工业现场因为环境复杂,实时性要求高,常常需要对一处或多处重要位置同时进行监控,且能够在需要时切换其中一幅画面全屏显示。这就要求设计一种实时视频监控系统,既能够满足工业现场应用的特殊环境,具有体积小、功耗低、可定制的特点,又能够对多点进行同时采集和同屏显示以及对其中的一路进行切换。 国内现有的视频监控方案一般是采用CCD摄像头+视频解码芯片(如SAA7113H/ADV7181B)+FPGA/CPLD+DSP...转载 2021-04-07 22:16:47 · 969 阅读 · 0 评论 -
基于FPGA的GV7600驱动控制器设计,按照BT1120协议传输YCbCr数据
目录 一、基于FPGA的GV7600驱动控制器设计,按照BT1120协议传输YCbCr数据 二、模块名称 三、模块输入输出端口定义(interface) 四、模块功能(functions) 五、模块行为描述(behavior descriptions) 六、时序说明图(diagrams) 七、注意事项 八、参考文献及代码 九、经验总结 一、基于FPGA的GV7600驱动控制器设计,按照BT1...转载 2021-03-14 11:25:31 · 3270 阅读 · 0 评论 -
视频时序与BT1120的关系 && FPGA实现BT.1120编码
CEA-861-D视频时序:水平方向对比:垂直方向对比:BT.1120整体数据格式:具体实现可参考我另外一篇文章《FPGA实现BT.1120编码》。 仅作参考,modulesim仿真通过,未做时序优化 研究了两天的BT1120规范,以及CEA-861-D视频时序,找到了一些对应关系(见我另外一篇文章《视频...转载 2021-03-14 10:51:58 · 4432 阅读 · 3 评论 -
Lattice Diamond与modelsim联合仿真环境设置
Lattice FPGA开发环境在仿真时可以使用modelsim,相比于Diamond自带的Active-HDL仿真工具,具有更好的交互性以及更便捷的可操作性。与其他FPGA的开发环境一样,需要设置联合仿真环境。 本文使用的环境为:Diamond 3.9 modelsim se 1...转载 2021-03-09 16:13:27 · 2678 阅读 · 0 评论 -
三段式状态机在DDR内存读的应用
/*读仲裁模块,使用轮训方式仲裁,清晰易懂*/module mem_read_arbi#( parameter MEM_DATA_BITS = 32)( input rst_n, input mem_clk, input ch0_rd_burst_req, input[9:0] ch0_rd_burst_len, input[23:0] ch0_rd_burst_addr, output ch0_rd_burst_data_valid, output[MEM_DATA_BITS -原创 2021-02-17 12:34:02 · 353 阅读 · 0 评论 -
状态机的详解
状态机描述时关键是要描述清楚几个状态机的要素,即如何进行状态转移,每个状态的输出是什么,状态转移的条件等。具体描述时方法各种各样,最常见的有三种描述方式: (1)一段式:整个状态机写到一个always模块里面,在该模块中既描述状态转移,又描述状态的输入和输出; (2)二段式:用两个alway...转载 2021-02-17 09:46:37 · 747 阅读 · 0 评论 -
VERILOG的I2C代码块,注册接口变量
VERILOG的I2C代码块,注册接口变量,看一下注释就明白了。////////////////////////////////////////////////////////////////////////// //////// registerInterface.v ////////原创 2021-02-05 14:08:19 · 274 阅读 · 0 评论 -
2021-01-10
近日ST的MCU价格大涨,自从2007来以来,就开始使用STM32的芯片做产品,不得不考虑使用国产的MCU来替代了。以下是找到的一些国产IC的名称,方便搜索一下。1 兆易创新(GD) 2 海思半导体 3 复旦微电子(FM) 4 航顺芯片研发(HK) 5 华大半导体 6 灵动微电子MM32 7 赛元微电子 8 同方微电子 9 华润微电子 10 高云半导体 11 中颖电子 12 东软载波微电子 13 中微半导体 14 芯海科技 15 晟矽微电子 16 芯圣电子 17 士兰微电原创 2021-01-10 18:14:27 · 184 阅读 · 0 评论 -
Modelsim 10以上版本在WIN10下找不到LICENSE的解决办法
近日,在安装MODELSIM的过程中, 一直出现找不到LICENSE的问题。在网上找到很多办法,都不能有效的解决问题。网上的大多数都集中在:1)使用CRACK中的二个文件覆盖WIN64中的文件,并把二个DLL都去掉只读属性。2)运行BAT文件,生成LICENSE.TXT文件3)加入环境变量,有二个环境变量,把目录指向第二步生成的路径。我做了很多测试1)换版本,由原来的10.1换成10.4 不行2)...原创 2020-10-11 10:54:46 · 5268 阅读 · 6 评论 -
Verilog代码风格
不管是什么语言,如果大家都用同一套的代码风格,那么交流起来就非常方便。除此之外,好的代码风格,还能让你的工作变得轻松一些。(使用sublime的代码补全功能,就无需担心这些复杂的变量名)。 如果你只使用Verilog,那么建议用匈牙利命名法。如果是Verilog和VHDL混用,则建议用传统命名法。因为VHDL不区分大小写,用传统命名法,有利于移植代码。 1、模块名跟文件名相同,都用小写,顶层文件要加上_top后...转载 2020-10-07 16:38:24 · 440 阅读 · 0 评论 -
QuartusII的增量编译减少等待时间
首先,得先看看QuartusII的编译过程是个怎么样的,要了解这个过程很简单,看看下面这张图,谁都不陌生: 当我们点全编译之后,下面的几个过程就会一个一个打上勾,而我们编译的过程也就是和这个运行过程是一致的:先是分析综合,再是布局布线,然后是汇编(这里不是指汇编语言的汇编,而是说将布局布线后的“电路”汇编成可下载到芯片内的“程序”,即.sof文件,在配置FPGA时候使用到的文件后缀),还有时序分析以及生成网表...转载 2020-10-04 23:52:35 · 1617 阅读 · 0 评论 -
国产FPGA芯片资源性能对照比较一览表
转载 2020-09-20 18:04:35 · 5806 阅读 · 0 评论 -
采用FPGA构建数字视频矩阵的一些设计思路和设计需求
音视频数字矩阵高清视频矩阵高清视频模拟数字混合矩阵设计需求,方案讨论。矩阵描述输入视频经过专用的视频芯片转换位RGB/YUV444/LVDS进 FPGA 将输入音视频转换为 Serdes 数字差分信号,进背板,经过数字差分交换到输出板的FPGA Serdes,经过FPGA将视频还原到DDR3 SDRAM 经过视频裁剪缩放分割等输出到专用视频输出芯片再输出到显示器。矩阵组成视频矩阵由机箱、电源、背板、数字高速差分交换板、系统控制板(嵌入式系统管理)、基础视频输入卡、基础视频输出卡。以HDMI接口转载 2020-09-06 18:10:56 · 1169 阅读 · 0 评论 -
干货!高速串行Serdes均衡之FFE
干货!高速串行Serdes均衡之FFE 2019-04-10 15:12 来源:EETOP</div> 原标题:干货!高速串行Serdes均衡之FFE ...转载 2020-09-03 11:10:58 · 3777 阅读 · 0 评论 -
非常详细的Lattice 的FPGA接口模块SerDes讲解
需求说明:Lattice系统FPGA入门内容 :FPGA接口模块SerDes讲解来自 :时间的诗网站:http://blog.sina.com.cn/s/blog_aec06aac01013m5g.html FPGA发展到今天,SerDes(Serializer-Deserializer)基本上是标配了。从...转载 2020-08-30 12:36:24 · 4567 阅读 · 1 评论 -
FPGA实现BT.1120视频信号 独立式同步转为嵌入式同步
仅作参考,modulesim仿真通过,未做时序优化研究了两天的BT1120规范,以及CEA-861-D视频时序,找到了一些对应关系(见我另外一篇文章《视频时序与BT1120的关系》)。于是写了如下的verilog代码,可对接sii9134芯片的行场内嵌方式,其中sii9134配置C代码如下: void sii9134_i...转载 2020-08-16 22:42:48 · 1866 阅读 · 0 评论 -
初探USB3.0极简方案FT601Q芯片方案
初探USB3.0极简方案FT601Q芯片方案 ...转载 2020-08-16 11:06:34 · 5762 阅读 · 1 评论 -
Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程
Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程一:前言最近手上压了一块米联客的Miz7035,一块xilinx zynq-7000系列的开发板,想着正好学习一下linux在ARM9上的移植,网上基本都是ZC702、zed的教程,这对于买了非标准板的人来说就不太友好,很多文件都不知道是怎么生成的。本着学习加分享的心态,把这两天移植linux的过...转载 2020-04-19 21:32:36 · 2233 阅读 · 0 评论 -
关于Quartus II工程综合时间过长问题的解决
因为我的工程比较大,综合时间有点长,之后在上面...转载 2020-04-19 10:31:58 · 2173 阅读 · 0 评论 -
如何在quartus下做逻辑锁定(quartus,逻辑锁定)
摘要: 当你的设计做得越来越大,性能要求越来越高的时候,你就会发现,之前跑得好好的模块,怎么突然间不行了,其实这就是约束的问题,FPGA内部的布局布线就像我们画PCB时的自动布线,如果没有规则设置,那么软件将不能保证你能达到多大的Fmax,而且当你的设计变更的时候,其它没有改动的模块也会在重新综合后受到影响。正文: 有两种方法来解决发生的这种意外,一个是时序约束,另一个转载 2017-05-27 12:04:16 · 2897 阅读 · 2 评论 -
理解SerDes 之一
理解SerDes 之一 (2012-11-11 20:51:23)转载▼标签: serdes ffe dfe jitter it 分类: FPGA设计经验理解SerDeswww.blog.sina.com.cn/fpgatalkFPGA发转载 2017-06-18 17:48:31 · 4366 阅读 · 0 评论 -
HDMI信号横彩条,竖彩条,棋盘格的方法
//*************************************************************************\//==========================================================================// Description:// 彩条发生模块 module col...原创 2019-01-21 13:46:20 · 1651 阅读 · 2 评论 -
VERILOG的parameter的写法
这是模块定义时的paramter的写法,有二个参数H_DISP, V_DISP, 初始化定义为二个值。module vga_display#( parameter H_DISP = 10'd640, parameter V_DISP = 10'd480 )( input clk, input rst_n, input [9:0] vga_xpos,转载 2016-11-20 16:55:09 · 41758 阅读 · 0 评论 -
FPGA Verilog语言中阻塞赋值与非阻塞赋值个人看法
FPGA Verilog语言中阻塞赋值与非阻塞赋值个人看法 对于Verilog 初学者来说,阻塞赋值与非阻塞赋值应该要区别一下子,我估计对于这两种赋值方式的应用解说,什么时候该用阻塞赋值,什么时候该用非阻塞赋值,通常见到的一句话是,时序逻辑里面通常用非阻塞赋值,组合逻辑里面通常使用阻塞赋值。但是这必然是含糊不清的,也并不意味着时序逻辑里面就不可以阻塞赋值了,组合逻辑里面就不可以用非阻转载 2016-08-24 23:17:54 · 1123 阅读 · 0 评论 -
那些让FPGA初学者纠结的仿真
初学者学习FPGA,必定会被它的各种仿真弄的晕头转向。比如,前仿真、后仿真、功能仿真、时序仿真、行为级仿真、RTL级仿真、综合后仿真、门级仿真、布局布线后仿真等。 Quartus和Modelsim软件的仿真形式 Quartus II有两种仿真形式:1、功能仿真;2、时序仿真。 Quartus II调用Modelsim的两种仿真形式为:1、RTL级仿真;2、Gate-l转载 2017-05-27 12:02:51 · 4114 阅读 · 0 评论 -
ModelSim对.txt文件的读写——十进制格式
http://www.cnblogs.com/pengwangguoyh/articles/3166474.html转载 2017-04-04 22:42:50 · 1769 阅读 · 0 评论 -
DDR工作原理
DDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。本文只着重讲讲DDR的原理和DDR SDRAM相对于传统SDRAM(又称SDR SDRAM)的不同。 DDR的核心频率、时钟频率和数据传输频率:转载 2016-10-03 10:04:18 · 641 阅读 · 0 评论 -
视频处理vout_frame_buffer_ctrl模块的理解
/*vout_frame_buffer_ctrl这个模块主要实现:场输出信号&FIFO&ddr之间的协议关系给出场时序,也就是帧输出信号,计算出具体的读写长度和读写地址,读请求信号给DDR。在VGA时钟,帧时序的控制下,有规律地从DDR读出的数据是存在FIFO中,然后从FIFO输出数据到VGA端口引脚。 DDR中的数据是存放一帧数据,BURST模块是不停地读数据到FIFO中,原创 2016-10-01 12:34:22 · 832 阅读 · 0 评论 -
二段式FPGA的状态机
数字系统有两大类有限状态机(Finite State Machine,FSM):Moore状态机和Mealy状态机。Moore状态机 其最大特点是输出只由当前状态确定,与输入无关。Moore状态机的状态图中的每一个状态都包含一个输出信号。这是一个典型的Moore状态机的状态跳转图,x、y、z是输入,a、b、c是输出。 Mealy状态机 它的转载 2016-10-02 09:22:01 · 9087 阅读 · 2 评论 -
modelsim quick start
ModelSim提供了简单仿真方式,还有一种要建立project,目前这种方式暂时够我用了。总结了以下,做了一个简单的《modelsim quick start》。 简单方针模式下面,操作步骤如下(黄色字符部分为每个操作对应的script指令,打开modelsim软件,在script窗口输入这些指令即可):1.新建library。“file->new->library"。选择li转载 2016-10-16 21:47:24 · 409 阅读 · 0 评论 -
testbench代码的设计技巧
" There are many ways " to code a test case, it all depens on the creativity ot the Testbench designer.Testbench代码设计技巧 11. Clock logic设计技巧 12. Asynchronous reset设计技巧 13. System task之转载 2016-10-16 21:40:50 · 915 阅读 · 0 评论 -
视频处理模块vin_frame_buffer_ctrl的解读
`timescale 1ps/1ps/*模块完成16bit的YC数据的64bit的数据对齐,然后写入FIFO,有帧写入状态机完成64bit数据写入ddr2*/module vin_frame_buffer_ctrl #(parameter MEM_DATA_BITS = 64) (input rst_n,原创 2016-10-01 18:48:08 · 1081 阅读 · 0 评论 -
SUBLIME 3的快捷键
原文来自:https://www.douban.com/note/362268947/以下是个人总结不完全的快捷键总汇,祝愿各位顺利解放自己的鼠标。1 选择类Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。Ctrl+L转载 2016-09-04 22:22:16 · 412 阅读 · 0 评论 -
一个很好的解释阻塞赋值与非阻塞赋值的例子
一个很好的解释阻塞赋值与非阻塞赋值的例子 1 module bnbasm (/*AUTOARG*/ 2 // Outputs 3 q1, q2, 4 // Inputs 5 clk_osc 6 ) ; 7 input clk_osc; 8 output [7:0] q1,q2; 9 10 r转载 2016-08-24 22:52:43 · 1569 阅读 · 0 评论 -
阻塞赋值和非阻塞赋值
在always语句块中,verilog语言支持两种类型的赋值:阻塞赋值和非阻塞赋值。阻塞赋值使用“=”语句;非阻塞赋值使用“ 位于begin/end块内的多条阻塞赋值语句是串行执行的,这一点同标准的程序设计语言是相同的。但是多条非阻塞赋值语句却是并行执行的,这些非阻塞赋值语句都会在其中任何一条语句执行完成之前开始执行。这正是硬件电路的特点,因为实际的逻辑门电路都是独立运转的,而不是等转载 2016-08-24 22:47:33 · 886 阅读 · 0 评论 -
defparam的语法
有机会看下defparam的语法了:如下:当一个模块引用另外一个模块时,高层模块可以改变低层模块用parameter定义的参数值,改变低层模块的参数值可采用以下两种方式: 1)defparam 重定义参数 语法:defparam path_name = value ; 低层模块的参数可以通过层次路径名重新定义,如下例:module top ( ....转载 2016-09-03 22:52:18 · 431 阅读 · 0 评论 -
STM32与FPGA通过SPI通信
MCU通过该SPI接口和FPGA通信,MCU可以读写4个寄存器:以及连续读写N(1-255)字节数据,当然可以增加更多的寄存器。MCU访问FPGA方式:写寄存器时:在SPI_DI上发送 CMD + PARA 数据流读寄存器时:在SPI_DI上发送 CMD + DUMMY数据流,在第2字节SPI_DO上会所需的数据流module STM32_FPGA_SPI(转载 2016-09-13 21:52:11 · 12339 阅读 · 0 评论