之前文章介绍了基于zynq的图像处理架构问题。其中,作为开发者,需要重点关注图像传感器接口、处理算法、显示接口,这些模块。现在我们一同学习用于视频数据接口的DVP模块,并将其封装成AXI-stream接口便于直接和VDMA IP通信。DVP_AXI stream IP v1.0使用说明1.设计概述•用于cmos传感器视频数据采集,将cmos输出的8位视频数据拼接成RGB 565模式•AXI_str            
                
         
            
            
            
            首先要明白测试代码的作用,这点其实很重要!测试代码其实就是通过代码模拟产生测试的环境,然后测试自己编写的模块代码是否正确。这可以指导我们在编写代码过程中决定某一些控制信号该如何产生,比如用于控制产生测试信号的控制信号,可以在一个 initial 模块里去改变这个值,而测试信号中的控制信号,应该在时钟下产生。1、 将测试代码模块命名为 sim_crc_to_ram, 并且不需要任何输入信号            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-27 20:33:17
                            
                                414阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Vivado自带的仿真工具Vivado Simulator使用体验不佳,使用当前最流行的Verilog仿真工具Modelsim更加高效便捷。Vivado支持多种第三方仿真工具,包括Modelsim,Questasim等,本文将介绍如何在Vivado中使用Modelsim进行仿真。不同版本的Vivado需要搭配对应版本的modelsim,否则在运行仿真时会报错:WARNING: [Vivado 12            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-05 07:07:47
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            总体延时分为两部分 :1时钟的延时 tclk2- tclk1,也被称为时钟偏斜。2 在两个寄存器之间 Tdata 既包括路径上的延时也可能包括做组合逻辑运算的延时。所以我们要做时序分析就是要比对 上述两种延时的差值。首先我们看数据到达时间 data arrival time如图红线所示 data arrival time = tclk1 +tco +tdata接着看时钟的延时Tsu 上升            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-08 14:34:56
                            
                                841阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            向 
  SVF  
 目标添加器件  创建 
  SVF  
 目标后 
 , 
 可向其中添加器件以定义 
  SVF JTAG  
 器件链配置。 
 SVF JTAG  
 器件链配置应与目标硬件链相匹配 
 , 
 以 确保能正确执行 SVF  
 文件。  使用 
  Vivado IDE  单击“ 
 + 
 ”按钮以向 
  SVF  
 链添加赛灵思器件或非赛灵思器件。            
                
         
            
            
            
            testbench介绍            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-27 09:48:46
                            
                                537阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            <link rel="stylesheet" href="">
                                    <link rel="stylesheet" href="">
            <div class="htmledit_views" >  在vivado中fpga功能验证比ise中方便了很多,主要体现在de            
                
         
            
            
            
            OCC模式OOC是Vivado开发套件提供的一项技术,该综合模式本质上是一种自底向上(bottom-up)的综合方法,该方法可用于IP、IPI(IP Integrator)的Block Design以及选择将HDL对象(即用户逻辑)当作一个隔离模块运行  完成自底向上的综合流程。针对定制IP       由于不需要每次综合时都运行整个设计            
                
         
            
            
            
            1、详细描述(elaboration)是将RTL优化到FPGA技术。 2、综合就是将RTL级的设计描述转换成门级的描述,在该过程中,将对逻辑优化,并且映射到Xilinx器件原语(也称为技术映射)。 3、当前工程窗口底部的“Report”窗口中,包含synth_1_synth_synthesis_report_0(综合策略1的综合报告),synth_1_report_utilization_repo            
                
         
            
            
            
             最近两个月开始用Vivado做项目,之前一直用ISE开发,个人觉得ISE方便好用,而Vivado编译又慢,还占内存,打开一个工程就需要好半天,可视化界面感觉也没什么用处,不如模块化的代码来的简单,而且还有一些bug。无奈xilinx公司不再开发ISE,到14.7就结束了,以后的芯片只能用Vivado做设计了,只能用它了,现在已经更新到了2014.4版本,我现在用的是2013.4版本,开            
                
         
            
            
            
             
     
     对于电子工程师来说,很多电路设计仿真软件都是特别大的,安装下来一般都是上G,甚至几十G,而且win7的兼容性也是最好的,不愿意升级win10是因为麻烦,而且没有必要,对于很多的设计软件来说win10还没有完全兼容,而且还不停自动更新,时间很珍贵的,谁愿意浪费大把时间搞什么兼容性问题,而不是code or design。所以EE一般会把Wndows自动更新关闭。对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 14:49:50
                            
                                391阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录1.FPGA代码开发流程2.以流水灯为例熟悉vivado开发流程3.FPGA文件目录4.代码固化5.传送门 1.FPGA代码开发流程Fpga代码的开发分为以下流程:设计定义(处于架构阶段,对需求进行定义,分析,模块划分)设计输入(verilog RTL代码输入、原理图)功能仿真分析和综合(由源文件综合编译run synthesis与生成特定设计的网表,逻辑综合实质上是设计流程的一个阶            
                
         
            
            
            
            实现后的设计调试  您可以在实现后修改、添加或删除调试核。在 
  Vivado 
 ® 
  Design Suite  
 有 
  2  
 种办法来完成此类操作。  如果要替换与 
  ILA  
 核的现有连接 
 , 
 赛灵思建议您使用 
  ECO  
 流程。 
 ECO  
 流程可对已实现的检查点 
  (DCP)  
 进行操作 
 , 
 并且  可以节省原本用于对设计进            
                
         
            
            
            
            1.算法仿真效果
vivado2019.2仿真结果如下:
2.算法涉及理论知识概要
FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-05 23:03:21
                            
                                322阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.算法描述
AES, 高级加密标准, 是采用区块加密的一种标准, 又称Rijndael加密法. 严格上来讲, AES和Rijndael又不是完全一样, AES的区块长度固定为128比特, 秘钥长度可以是128, 192或者256. Rijndael加密法可以支持更大范围的区块和密钥长度, Rijndael使用的密钥和区块长度均可以是128,192或256比特. AES是对称加密最流行的算法之一.            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-08 22:36:06
                            
                                303阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Testbench编写   Testbench编写指南是博主新开的一个系列,主要介绍在编写testbench时使用到的技巧,让编写者的水平不再仅仅停留在时钟信号、复位信号等简单信号的设置上,更好的完成对设计的仿真工作。 第2篇的题材是文件的读写控制,仿真时经常需要从文件中读取测试激励,还要将仿真结果存取在文件中供其它程序读取调用。读取txt文件数据示例代码如下:integer i;   //数组坐            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-27 19:51:44
                            
                                179阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            vivado工程创建及工程测试testbench教程一、工程创建二、工程测试testbench 一、工程创建按如下30步流程即可创建并完成仿真 第三步对工程命名 第七步搜索你的FPGA板型号 此处右键design sources选择出现的add sources 此处为design sources 第十四步对你的design sources命名 第十八步双击design sources中你创建的文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-15 14:10:57
                            
                                600阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.概念Testbench是一种用任意语言编写的程序或模块,用于在模拟过程中执行和验证硬件模型的功能正确性。Verilog主要用于硬件建模,该语言包含各种资源,用于格式化、读取、存储、动态分配,比较和写入模拟数据,包括输入激励和输出结果。2.组成组件①.时间表声明:指定所有延迟的时间单位。(这个怎么理解)`timescale<时间单位>/<时间精度>②.Module:定义了            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 14:24:04
                            
                                292阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                     Testbench的编写说难也难,说易也易。之前有朋友私信留言谈到想系统学习下 Testbench,今天特意撰写这篇博客,其实说到底透过现象看本质,不同于功能模块的编写,Testbench核心任务在于验证功能模块的设计是否符合预期,所以围绕着这个目标,为了更方便理解,笔者将其简单地归纳为3个步骤:1.对被测试功能模块的顶            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-30 17:32:12
                            
                                148阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者:桂。前言  Testbench主要用于module的测试,这里仅记录一般的操作流程。 〇、verilog与C的区别  本段文字出处。  RTL级的verilog其实就是常说的verilog语言中可综合的那部分,它是verilog语言的一个子集。所谓的RTL级建模,其实也就是用verilog语言去描述实际电路的行为,比如用verilog语言去描述一个ram或者是一个移位寄存器。&nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-26 15:12:12
                            
                                41阅读
                            
                                                                             
                 
                
                                
                    