vivado 嵌入式vivado在线逻辑分析仪仪怎么用

如何学习FPGA
PS:笔者强烈建议诸位注册一个EETOP的账号,每天签到或者发贴、回贴就有积分了,里面的资源非常丰富,各种软件、资料都能找到。
一、入门首先要掌握HDL(HDL=verilog+VHDL)。
&&&&&&&第一句话是:还没学数电的先学。然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL。因为verilog太像C了,很容易混淆,最后你会发现,你花了大量时间去区分这两种语言,而不是在学习如何使用它。当然,你思维能转得过来,也可以选verilog,毕竟在国内verilog用得比较多。
&&&&&&&接下来,首先找本实例抄代码。抄代码的意义在于熟悉语法规则和编译器(这里的编译器是硅编译器又叫综合器,常用的编译器有:、、、 、的、iverilog、的、Microsemi/Actel的Libero、Synplify
pro),然后再模仿着写,最后不看书也能写出来。编译完代码,就打开RTL图,看一下综合出来是什么样的电路。
&&&&&& HDL是硬件描述语言,突出硬件这一特点,所以要用数电的思维去思考HDL,而不是用C语言或者其它高级语言,如果不能理解这句话的,可以看《》。在这一阶段,推荐的教材是《》或者是《》。不看书也能写出个三段式状态机就可以进入下一阶段了。
&&&&&& 此外,你手上必须准备Verilog或者VHDL的官方文档,《》、《》,以便遇到一些语法问题的时候能查一下。
&&&&&& 为什么不推荐学习NIOS II和MicroBlaze等软核?
&&&&&&1、性价比不高,一般的软核性能大概跟Cortex M3或M4差不多,用FPGA那么贵的东西去做一个性能一般的CPU,在工程上是非常不划算的。不如另外加一块M3。
&&&&&&2、加上软核,可能会影响到其它的逻辑的功能。这是在资源并不十分充足的情况下,再加上软核,导致布局布线变得相当困难。
&&&&&&3、软核不开源,出现Bug的时候,不容易调试。
二、独立完成中小规模的数字电路设计。
&&&&&&&现在,你可以设计一些数字电路了,像交通灯、电子琴、DDS等等,推荐的教材是《》。在这一阶段,你要做到的是:给你一个指标要求或者时序图,你能用HDL设计电路去实现它。这里你需要一块开发板,可以选的cyclone IV系列,或者的Spantan
6。还没掌握HDL之前千万不要买开发板,因为你买回来也没用。这里你没必要每次编译通过就下载代码,咱们用(此外还有、、Diamond的Active-HDL、VCS、Debussy/等仿真工具),如果仿真都不能通过那就不用下载了,肯定不行的。在这里先掌握简单的testbench就可以了。推荐的教材是《》。
三、掌握设计方法和设计原则。
&&&&&&&你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟等等。推荐的教材是《》、《》、《Altera
FPGA/CPLD设计》第二版的和两本。学会加快编译速度(增量式编译、LogicLock),静态(),嵌入式逻辑分析仪()就算是通关了。如果有不懂的地方可以暂时跳过,因为这部分还需要足量的实践,才能有较深刻的理解。
四、学会提高开发效率。
&&&&&&& 因为Quartus和ISE的编辑器功能太弱,影响了开发效率。所以建议使用中代码片段的功能,以减少重复性劳动。Modelsim也是常用的仿真工具,学会TCL/TK以编写适合自己的,使得仿真变得自动化,推荐的教材是《》。你可能会手动备份代码,但是专业人士都是用的,所以,为了提高工作效率,必须掌握。文件比较器也是个比较常用的工具。此外,你也可以使用来替代testbench,这样效率会更高一些。如果你是做IC验证的,就必须掌握System Verilog和验证方法学(UVM)。推荐的教材是《》、《》、《》。
&&&&&&&& 掌握了TCL/TK之后,可以学习(ISE也有类似的工具)制作属于自己的调试工具,此外,有时间的话,最好再学个python。脚本,意味着一劳永逸。
五、增强理论基础。
&&&&&&& 这个时候,你已经会使用FPGA了,但是还有很多事情做不了(比如,FIR滤波器、、OFDM等),因为理论没学好。我大概地分几个方向供大家参考,后面跟的是要掌握的理论课。
1、信号处理——信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理
2、接口应用——如:、SPI、IIC、、CAN、PCIE、Rapid
IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort
3、无线通信——信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码
4、CPU设计——计算机组成原理、、计算机体系结构、编译原理
5、仪器仪表——模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用
6、控制系统——自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用
7、压缩、编码、加密——数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理
&&&&&& 现在你发现,原来FPGA会涉及到那么多知识,你可以选一个感兴趣的方向,但是工作中很有可能用到其中几个方向的知识,所以理论还是学得越多越好。如果你要更上一层,数学和英语是不可避免的。
六、学会使用MATLAB仿真。
&&&&&&& 设计FPGA算法的时候,多多少少都会用到MATLAB,比如的系数矩阵、数字滤波器系数、各种表格和文本处理等。此外,MATLAB还能用于调试HDL(用MATLAB的计算结果跟用HDL算出来的一步步对照,可以知道哪里出问题)。推荐的教材是《》和杜勇的《》。
七、足量的实践。
&&&&&& 这个时候你至少读过几遍芯片手册(有),然后可以针对自己的方向,做一定量的实践了(期间要保持良好的,,绘制,的习惯)。比如:通信类的可以做调制解调算法,仪表类的可以做总线分析仪等等。不过这些算法,在书上只是给了个公式、框图而已,跟实际的差距很大,你甚至会觉得书上的东西都很肤浅。那么,你可以在、、、、、Q群共享、博客上面找些相关资料(校外的朋友可以在淘宝买个知网账号)。其实,当你到了这个阶段,你已经达到了职业级水平,有空就多了解一些前沿技术,这将有助于你的职业规划。
&&&&&&& 在工作当中,或许你需要关注很多协议和行业标准,协议可以在EETOP上面找到,而标准(如:国家标准GB和GB/T,国际标准ISO)就推荐《》和《》。
八、图像处理。(这部分只写给想学图像处理的朋友,也是由浅入深的路线)
1、Photoshop。花一、两周的时间学习PS,对图像处理有个大概的了解,知道各种图片格式、直方图、色相、通道、滤镜、拼接等基本概念,并能使用它。这部分是0基础,目的让大家对图像处理有个感性的认识,而不是一上来就各种各样的公式推导。推荐《》。
2、基于MATLAB或OpenCV的图像处理。有C/C++基础的可以学习OpenCV,否则的话,建议学MATLAB。这个阶段下,只要学会简单的调用函数即可,暂时不用深究实现的细节。推荐《》、《》。
3、图像处理的基础理论。这部分的理论是需要高数、复变、线性代数、信号与系统、数字信号处理等基础,基础不好的话,建议先补补基础再来。看不懂的理论也可以暂时先放下,或许学到后面就自然而然地开窍了。推荐《》。
4、基于FPGA的图像处理。把前面学到的理论运用到FPGA上面,如果这时你有前面第七个阶段的水平,你将轻松地独立完成图像算法设计(图像处理是离不开接口的,上面第五个阶段有讲)。推荐《》、《》。
5、进一步钻研数学。要在算法上更上一层,必然需要更多的数学,所以这里建议学习、、等。
下面这两个阶段是给感兴趣的朋友介绍的。
九、数电的尽头是模电。
&&&&&&&现在FPGA内部的事情是难不到你的,但是信号出了FPGA,你就没法控制了。这个时候必须学好模电。比如:电路分析、模拟电子技术、高频电子线路、PCB设计、EMC、SI、PI等等,能设计出一块带两片DDR3的FPGA开发板,就算通关了。具体的学习路线可以参考本博客的《》和《》。
十、学无止境。
&&&&&&&能到这个境界,说明你已经很厉害了,但是还有很多东西要学的,因为FPGA常常要跟CPU交互,也就是说你得经常跟软件工程师交流,所以也得懂点软件方面的知识。比如ARM(Xilinx的ZYNQ和Altera的SOC会用到ARM的硬核,请参考本博客的《》)、DSP、linux、安卓、上位机(、C#、JAVA)都可以学一下,反正学无止境的。
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?君,已阅读到文档的结尾了呢~~
xilinx vivado zynq7000 入门笔记_图文
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
xilinx vivado zynq7000 入门笔记_图文
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口一场Pokemon
Go,让全世界的小精灵师都暴露了。因此,在……
2016年初,一场人机大战点燃了人工智能芯片的争夺战,而……
今年,频频爆出摩尔定律将不再是制造工艺界的神话,虽说……
值农历新年佳节之际,很多半导体公司都借机召开了自己的……
21ic 2016年度采访之TE――将无人机与VR连接在一起
演讲人:彭煜歆时间: 10:00:00
演讲人:杜复旦时间: 10:00:00
演讲人:沈凯时间: 10:00:00
预算:¥10,000-¥50,000预算:¥10,000-¥50,000
基于SDR SDRAM的视频数据逻辑分析存储器的设计与实现
[导读]摘要:针对传统硬件测试软件的弊端,文章提出一种便携式视频数据逻辑分析存储器的设计方法,这种分析存储器能够针对网络多媒体数据进行采集、分析和存储等操作。在不影响网络正常传输的前提下,针对TS流进行采集、存
摘要:针对传统硬件测试软件的弊端,文章提出一种便携式视频数据逻辑分析存储器的设计方法,这种分析存储器能够针对网络多媒体数据进行采集、分析和存储等操作。在不影响网络正常传输的前提下,针对TS流进行采集、存储和分析。由于多媒体数据网络传输具有数据量大、网络带宽占用量大等特点,因此设计中根据系统结构需要,设计SDR
SDRAM存储器控制器,采用分层状态机的设计模式,可以对结构较大的网络数据包或是大量高速传输中的数据进行突发存储操作。测试结果表明系统工作稳定,数据处理速度快,精度可达纳秒级,满足系统设计要求。
在传统硬件调试系统中,通常采用SIGNALTAPII软件进行数据抓取和采集,但是这种调试工具具有一定的弊端,对高速传输的数据中具有某种特征的整段数据需要反复触发抓取,同时很难对采集的数据进行实时观测。音视频数据是一种高速传输的数据,具有数据量大、网络带宽占用量大等特点。要对这种数据进行系统调试,需要系统能够对数据进行实时处理、采集和观测,采用SIGNALTAPII很难实现这一功能。同时,在网络音视频数据传输系统中,接收端除了接收音视频数据外,还会接收到网络中传输的一些控制信息等数据,这些数据对音视频数据的分析无用,应首先进行识别和过滤。
针对音视频数据传输采集分析的要求,本文设计了一种具有新型结构的音视频数据逻辑分析存储器,这种系统能够针对具有TS数据流结构的网络多媒体数据进行实嫉氖萁峁埂⑹菟俾实募嗫兀芄煌ü绦蚨酝缡莅闹⊥贰⑿楹诺刃畔⒔蟹治觯嗫赝缰幸羰悠凳萘髁浚⒄攵哉庵纸峁沟氖莅写娲⒉杉既SD卡,或在PC平台上进行实时监控、播放或是仿真处理。
1 视频数据逻辑分析存储器的结构和工作原理
音视频数据逻辑分析存储器的结构如图1所示。硬件开发平台接收到的网口测试数据由路由器发出,同时由某一台PC机通过流媒体服务器向硬件开发平台所连接的PC机发送音频和视频数据。流媒体服务器发送的音、视频数据是封装成UDP数据包的TS传输流。此时由MII接口与FPGA进行通信的网络数据协议类型非常丰富,例如TCP、UDP、DNS、NRP、HTTP等。不同网络协议数据包,都具有其特定的数据帧结构。对封装成UDP数据包的TS传输流的数据帧格式进行分析,从而将其过滤出来,实现对音视频数据的提取、监控以及存储功能。UDP/非UDP过滤模块实现TS流的分流和提取,网口数据速率监控模块可以对单位时间的数据量进行实时监控。
音视频数据经FIFO缓存模块、锁存模块后由SDRAM驱动模块将数据高速地写入SDRAM存储器中,SDRAM驱动模块、SDRAM接口模块、SDRAM控制器完成数据的读写、缓存和封装。经过一段时间后,根据UDP帧长度缓存模块的输出值将输出数据打包成帧,转存至SD
card中,可保存、携带或将SD card中的数据导入PC平台,对采集到的数据进行各种分析、仿真操作。
2 视频数据逻辑分析存储器可编程模块的设计
2.1 可编程模块的结构和工作原理
可编程模块包括:UDP/非UDP过滤模块、双网口异步传输模块、网口速率监控模块、输入/输出FIFO缓存模块、SDRAM驱动模块、SDRAM接口模块、SDRAM控制器、数据帧封装模块等。在可编程模块的设计中,SDRAM控制器、输入/输出FIFO模块、SDRAM驱动模块、SDRAM接口模块是整个系统的核心处理模块,该部分采用分层状态机的设计模式,实现主状态机与具体操作控制状态机的分离,能有效提高读写操作效率,模块设计结构清晰,提高了系统设计的可读性,也使程序具有更高的通用性。
SDRAM控制器、输入/输出FIFO缓存模块、SDRAM驱动模块、SDRAM接口模块等核心模块的设计原理如图2所示。
在系统上电后,SDRAM控制器模块首先跳转至初始化进程,对SDRAM发出初始化命令,分别对SDRAM的各种参数进行配置。初始化完毕后,SDRAM驱动模块开始进行状态跳转判定,判定结果将使SDRAM控制器由开始的空闲状态跳转至其他工作状态。在控制器第一次进入写状态时,SDRAM驱动模块对SDRAM接口模块发送命令信号,使SDRAM接口模块的工作进程跳转至写进程。进入写进程的SDRAM接口模块向SDRAM控制器发送数据、地址和写命令。SDRAM控制器根据接收到的命令将FIFO中缓存的数据以突发模式写入SDRAM中。SDRAM完成写操作后,SDRAM驱动模块将再一次进行状态跳转判定,如此反复。在整个过程中,SDRAM驱动模块根据判定结果进行状态跳转,并发出不同的命令,SDRAM接口模块根据接收到的命令,相应地进入不同的工作进程。在不同的工作进程中,SDRAM接口模块对SDRAM控制器发送不同的操作命令,从而完成对SDRAM的初始化、读、写、刷新等各种操作。最后将需要分析、存储的数据从输出FIFO中导入SD卡。这一操作由开关模块进行控制。
其中,SDRAM控制器的程序编写是本系统设计的另一个重要的部分,SDRAM控制器主要包括命令监控、命令译码以及数据传递等几部分,SDRAM控制器根据接收到的命令,将数据和地址分别送入相应模块进行处理。
2.2 SDRAM控制器的实现
SDRAM控制器由4个可编程模块组成,分别为命令监控模块、命令译码模块、数据传输模块和时钟模块等,支持1、2、4、8和全页突发等突发模式。
首先需要对SDRAM进行初始化,系统的时钟和电源稳定后,在发起读、写、预充电、刷新等命令前,需要100 &s的上电延时。从100
&s内某点开始到100&s结束的过程中,需要发出至少一次NOP或是COMMAND
INHIBIT命令。在系统上电结束后,发出PRECHARGE命令,对SDRAM中的所有bank进行预充电,使其至于空闲状态中。在完成SDRAM初始化过程中,还需要接口模块对SDRAM控制器里面的配置存储器进行编码,本设计中写入配置寄存器中的值为0x33,表明SDRAM采用8bit突发读写模式。
SDRAM存储器初始化完成后,SDRAM中的所有bank处于空闲状态。根据系统需求,SDRAM驱动模块向SDRAM控制器发送读、写、刷新等命令。根据命令的优先级进行判断,优先处理哪一个命令,正在执行的命令优先级最高,其次为刷新命令,再次为其他命令,这种命令优先级的机制能够有效提高SDRAM的工作效率。
SDRAM进行的主要操作为读写操作,本系统设计中SDRAM采用的是非全页的8bit突发读写模式,数据宽度是16bit,由于接收的数据为网口数据,仅使用其中的4bit宽度,这是由网口数据线宽度决定的。系统中,接收FIFO接收的数据深度由SDRAM接口模块写入,当接收FIFO接收到规定数值的写入数据后,SDRAM接口模块向SDRAM控制器发出写命令,命令监控模块接收命令和地址,并将接收到的命令进行译码。命令译码模块从命令监控模块获得写地址和译码后的命令,并将其变为适合SDRAM接收的命令。数据传输模块负责数据传输路径和写入。
当SDRAM存储器中的数据大于等于8个时,控制器跳转至读进程,与写进程相似,命令监控模块获得读命令和地址,将命令进行译码,传输给命令译码模块,译码为适合SDRAM的命令,SDRAM将数据从接收地址处开始读出,以8bit突发读的形式将数据打入输出FIFO中。
SDRAM开始工作后在不同的工作状态和过程中进行跳转,这些工作状态和过程主要包括空闲状态、初始化过程、读过程、写过程、刷新过程等,状态或过程的跳转通过命令协调过程完成,SDRAM工作状态转移如图3所示。需要注意的是,如果SDRAM设置为自动刷新模式,由于刷新命令的优先级在读写命令之前,SDRAM在状态跳转时会优先跳转至自动刷新过程中。
3 硬件测试结果
本系统在altera公司的QuartusII平台上搭建完成,硬件上采用了双网口设计,芯片型号为DP83848,SDR
SDRAM芯片为Micron半导体公司生产的MT48LC16M16A2,FPGA芯片为CycloneIII系列的EP3C120F484C8,采用Modelsim
SE 10.1a完成前期软件仿真,在QurtusII自带的嵌入式逻辑分析仪完成硬件仿真。测试结果仿真波形图如图4、5所示。
N1_RXD为网口接收数据,经过系统对数据包的判定,该数据包是具有TS流帧结构的音视频数据,UDP模块输出UDP数据与输入数据完全一致,而非UDP模块输出为0,实现了音视频数据的过滤和分流。
N1_RXD是整个系统最初网口输入数据,dataout为系统输出数据,dq是SDRAM双向数据总线。由图5可见,系统输出数据与输入数据一致,符合设计要求。其中输出数据最后将导入SD卡,或直接在PC平台上进行各类仿真处理。
系统硬件测试结果表明,SDRAM突发存储的操作特点能够满足对高速传输的大量音视频数据的采集和实时处理,能够实现系统对音视频数据进行识别过滤、采集、检测以及存储的需求,从而代替SIGNALTAPII完成对采集下来的数据进行观测和调试的功能,可靠性高,符合系统设计的要求。
 在一个领域中,如果唯一不变的是变化,那么不需要对电子技术和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。微处理器得到大规模应用后,价廉物美的新技术为基于软件......关键字:
两个调试中遇到的小问题,引以为戒。1.
画板子的时候由于没注意结构上的固定边框,不小心把一个旁路电容放在边界上。在外部铁壳将液晶屏固定到电路板上后,出现的症状很有意思。两个不同的屋子(A和B),同样的电......关键字:
关于时序工具的一些FAE解答:问:你们的工具是否只提供所有输入输出管脚完全一致的时序约束?如tsu,th,tco,tpd的约束?如果不同管脚可以有不 同约束值,如何设置?FAE:我们的工具提供的是时序分析功能,尚未提供时......关键字:
FPGA是一种可以重复改变组态的电路,可让设计者进行编程的逻辑闸元件,特别适用于产品开发时必须不断变更设计的应用,以有效加速产品上市时间。而FPGA电路的特性,特别适合用于软体定义的测试系统架构,这也正式目前......关键字:
不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键......关键字:
在一个领域中,如果唯一不变的是变化,那么不需要对电子技术和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。微处理器得到大规模应用后,价廉物美的新技术为基于软件的......关键字:
使用这些设计技巧和ISE功能分析工具来控制功耗
   新一代 FPGA的速度变得越来越快,密度变得越来越高,逻辑资源也越来越多。那么如何才能确保功耗不随这些一起增加呢?很多设计抉择可以影响系统的功耗,这些抉择......关键字:
深度学习全称深度神经网络,本质上是多层次的人工神经网络算法,即模仿人脑的神经网络,从最基本的单元上模拟了人类大脑的运行机制。近年来,其所取得的前所未有的突破掀起了人工智能新一轮的发展热潮。
......关键字:
移动工作者正在推动对于随时随地连接的需求。很快他们将实现高质量的 4K 连接并在不久之后实现 8K
连接。为了满足这种工作环境的变化,商业音视频系统正在实现真正的统一,将 PC 与视频会议系统和投影仪以及员工&ld......关键字:
我 要 评 论
热门关键词}

我要回帖

更多关于 逻辑分析仪怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信