
FPGA
文章平均质量分 57
古楼望月
这个作者很懒,什么都没留下…
展开
-
vivado创建层次原理图
创建层次原理图原创 2022-12-05 16:10:26 · 2724 阅读 · 0 评论 -
vivado创建原理图模块
创建RTL的图形原创 2022-12-05 14:23:53 · 5380 阅读 · 0 评论 -
Xilinx的TestPattern模块编译错误解决方法
vivado 编译tpg模块错误解决方法原创 2022-12-01 16:52:55 · 1110 阅读 · 0 评论 -
EZ-USB-FX3 slavefifo调试
最近使用fx3-usb-3.0调试slave fifo的传输,期间遇到许多难以理解的问题。在这里分享给大家,希望可以少走一些弯路,我自己是这样走过来的。1,首先去官网下载原始的参考设计,并安装所提供的SDK软件:FX3SDKSetup_1.3.4.exe2,接着把参考设计文档AN65974阅读一遍,分别创建新的SDK工程和FPGA工程。如果使用的原厂的开发板,那么可以按照文档提示,可以很顺畅的跑完整过测试。否则需要匹配自己的硬件,做针对性的更改和移植,而我走的是后一条路,于是开始了漫长的调试之路。.原创 2021-08-18 19:41:05 · 2881 阅读 · 13 评论 -
microblaze之assert函数的用法
调试程序过程中,经常会遇到传递的参数非法了,于是就进入了系统自带的Assert函数之中了,这时候程序是死循环,也不知道是在哪个地方出现的错误。1,曾经我是原创 2021-05-14 13:41:03 · 257 阅读 · 0 评论 -
microblaze之自定义IP的总线配置
做开发设计的时候,不可能完全使用官方原有的IP设计,因此少不了自己动手写一点实用的逻辑,于是需要将自己的模块总线化,便于耦合到系统之上。分几个步骤去实现:1,去ARM官网下载AXI4总线的文档,有兴趣可以仔细读一下,这件事情放在以后吧。当需要设计复杂的IP的时候,那么这件工作一定不能忽视。2,通过粗略的查看文档,大致有信号的定义,通信机制,握手协议,什么读写地址通道,数据通道,响应通道,没有必要列举清楚,完全可以在文档中去看。3,本来应该通过手册去写相关的驱动时序,我想也不是特别困难原创 2021-05-11 15:57:39 · 771 阅读 · 0 评论 -
microblaze之axi-timer定时器中断调试
序言:定时器是cpu不可缺少的部分,microblaze不能例外,所以需要亲自跑一遍。本文主要分享我遇到的问题和调试的经历,以及作为程序员不严谨所导致的惨痛教训。1,axi-timer可以计数也可以定时,详细特性可以参考xilinx的手册,这里放一个它的内部框图和寄存器列表,如下:2,在vivado里面添加axi-timer模块,连接好信号线,我首先把中断信号连接到中断控制器,然后使用一个axi-gpio模块控制他的freeze引脚,一个定时器0的generate_out控制另一个计数器的c原创 2021-04-28 18:29:05 · 4473 阅读 · 1 评论 -
microblaze之C语言基础知识复习
在microblaze的软件编程中主要以C语言为主,而C语言主要以指针为主,因此有必要剔除重要的点做几番认识。1,const修饰符的作用,它就是让一个变量具有常量的属性,如果有指针的时候,那么有两个摆放位置,例如:char const* p;意思是p is a pointer to const char,指针p所指向的变量不允许通过指针*p间接去修改,但是变量a本身显然可以被修改的,另外指针p不仅可以指向变量a,也可以指向变量b。char * const p;意思是p is a const.原创 2021-04-25 17:37:06 · 520 阅读 · 1 评论 -
microblaze之Video Processing Subsystem调试误区
内容:总结video processing subsystem调试中遇到的问题,以及在解决问题中的思路方法论,引为前车之鉴。1,我的目的是希望采用vps中的scaler模块对图像进行拉伸缩小。IP的配置如下:2,整个系统的框架图如下,仅比上期的内容增加了scaler模块,如下:3,查手册,可以知道这个scaler only组件分成了hscale,vscale和GPIO,其中GPIO是控制上下游stream流控设备复位用,暂时忽略。hscale和vscale的寄存器空间如下,主要关注图原创 2021-04-16 19:34:16 · 3005 阅读 · 15 评论 -
microblaze之Video Pattern Generator调试误区
内容:在使用xilinx自带的PatternGenerator的时候,出现了一些莫名的问题,现在做一个总结,如下:1,首先简单搭一个系统,由于原始的BLOCK图的连线过于复杂,于是简化处理;2,其中VTC和TPG分别可以工作在free run模式和pass thru模式,这些可以通过寄存器配置。对于TPG来说,如果工作在free run模式,那么XV_tpg_Set_enableInput(&tpg, 0x00)一定要写0,就是禁止输入的流,否则会影响后端的码流速率。3,如果工.原创 2021-04-09 18:03:44 · 2230 阅读 · 0 评论 -
绘制FPGA原理图封装
一般来讲FPGA的引脚数目非常多,如果原厂没有提供元件库,那么自己也可以快速绘制。方法如下:第一步,在官网上下载对应的pinout_list文档,类似于这种。第二步,对这个表格稍作修改,好让跟ORCAD的风格匹配。需要注意的是把BANK这一列改为SECTION,按照习惯依次编为ABCD等等,引脚位置可以上下左右摆放,我习惯左右方式。另外如果引脚名称又长又短,可以在第一个名称后面补上一些横杆,也不影响理解,否则左右引脚会粘在一起。第三步,打开ORCAD建立PART封装,选择from spr原创 2020-05-14 09:18:11 · 7434 阅读 · 4 评论 -
ISERDESE3和OSERDESE3的仿真分析
1,这是xilinx的器件内部的解串和串行的元件,首先看官方文档的描述:2,在8bit模式下面,猜想模型的信号输出情况,看一下到底是符合解串,于是例化iserdes3模块,并且自行使用逻辑模拟,如下:其中rx_clk的频率是clkdiv的频率4倍,刚好匹配8个bit位宽,可以知道每个字节的输出都是在clkdiv的上升沿之后,数据解串的低位在前高位在后,对比发现和xilinx自身的数据一致,仿真的结果如下:3,接下来猜测4bit位宽情况,clkdiv的频率应当是rx_clk的四分之原创 2020-05-26 15:36:59 · 6233 阅读 · 4 评论 -
microblaze之串口打印和LED显示
现在早已忘记怎么使用microblaze来做系统设计,但是xilinx的很多方案要么基于zynq要么基于软核,面对这种困境,为了不让自己局限于逻辑开发的层次,于是从头跑一回软核吧。总的来说就是先在vivado里面搭建CPU硬件,然后导出设计到SDK去进行C代码编译。最后下载到板上进行验证。1,首先建立一个rtl工程,然后create BlockDesign文件,选择添加IP,我自己调用了microblaze和axi_gpio,axi_uartlite这三个IP,如下:2,这...原创 2021-03-24 14:42:13 · 1415 阅读 · 0 评论 -
microblaze之AXI4-Stream to Video Out图像输出调试
目的:xilinx系列图像处理的IP大多是采用的AXI4-Stream流形式的接口,为了发挥这种优势,需要对它的应用做必要的认识。1,查看数据手册看到这个IP应该按如下方式搭建,于是依葫芦画瓢创建系统。2,在调试完VTC模块之后,就开始调试stream out模块,我采用了MASTER模式,配置如下:3,下载程序之后,在电视机上看视频内容还是黑屏,同时用示波器看LOCK信号还是低电平。于是认为需要监控一下stream流信号,于是如下:4,从信号中只能看到有东西,但是无法知道传原创 2021-04-07 16:53:51 · 2831 阅读 · 0 评论