随笔分类 -  FPGA

Mostly about Xilinx Spartan6
摘要:测试方法采用了VDMA仅有MM2S通道, 内存中的图像帧是用MicroBlaze核写入的一个colorbar.VDMA的mhs部分如下, 因为我的输出用了Digilent的HDMI核,而这个HDMI核是32位的,我自己写了个axis_24_32的位宽转换的ip,这个暂且按下不表.BEGIN axi_... 阅读全文
posted @ 2014-04-29 17:59 玩电毁一生 阅读(1714) 评论(6) 推荐(0)
摘要:在XPS中修改MPD文件中的PARAMETER参数后(修改了一个IP的TDATA的位宽),没有Project-->Rescan User Repository, 结果Run DRCs的时候,一直提示将32位的接口连接到24位的接口上,检查了许多许多遍,下了手册看语法 都没有问题啊.最后打开IP的Co... 阅读全文
posted @ 2014-04-21 17:11 玩电毁一生 阅读(720) 评论(0) 推荐(0)
摘要:AXI Stream 是 AMBA AXI4协议中的一部分,主要是高效的流传输.包含的信号有ACLK 时钟ARESET 复位TDATA 数据TVALIDTREADYTSTRBTKEEPTLASTTIDTDESTTUSER在XPS中Hardware-->Create or Import Periphe... 阅读全文
posted @ 2014-04-20 17:04 玩电毁一生 阅读(2333) 评论(0) 推荐(0)
摘要:在Vivado HLS中export rtl时选择pcores for edk并选中Evaluate VHDL,时会出现该错误,提示ISE找不到.解决方案:在path中添加ISE 和Vivado的路径后,重启Vivado HLS.我添加的路径如下,G:\Xilinx\14.7\ISE_DS\ISE\... 阅读全文
posted @ 2014-04-18 11:25 玩电毁一生 阅读(708) 评论(0) 推荐(0)
摘要:参考http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,836&Prod=ATLYS&CFID=3596720&CFTOKEN=77552395DSD-0000332 9/14/12 Reference Designs Atlys... 阅读全文
posted @ 2014-04-17 11:44 玩电毁一生 阅读(644) 评论(0) 推荐(0)
摘要:SDK 的"xil_io.h"中提供了对地址的直接读写操作不过我在实践中发现,对于Xil_In32(),当偏移为1不断读取时,会出现不正确的值。我当时是在某连续若干地址中写了 0x0000 00ff(假如基址是0xc000 0000吧),但是读取的时候0xc000 0001 读取的值是0x0000 00ff;0xc000 0002 读取的值也是0x0000 00ff;我就很纳闷了,这不科学啊,如果Xil_In32()是读取4个Bytes,那么0xc000 0002 读取的值应该是0x0000 ff00;后来我就怀疑是不是因为内存对齐导致的,我做了一个尝试,代码如下Addr 阅读全文
posted @ 2014-04-01 14:50 玩电毁一生 阅读(4319) 评论(0) 推荐(0)
摘要:今天来改了几个参数,总算有好转了,屏幕不像昨晚那样一闪一闪的,还会显示五颜六色雪花(老电视机没信号的那样)自己写ram,可以控制显示的颜色了。如下图,这图有色差。手机拍的颜色有偏差,真正用眼睛看到的颜色是这样的(最下面的长条)工程文件可以通过以下链接下载:(开发环境ISE Suite 14.7, nt64; Win7 x64)工程文件链接其他说明:去除了VDMA的S2MM通道(不能读取HDMI流),因为Digilent提供的HDMI核与VDMA连接后,Wr通道无法复位成功。直接在MicroBlaze核中Xil_Out32LE写RAM,写入值为0x00 00 00 ff, 内存中组织形式为 ff 阅读全文
posted @ 2014-04-01 11:06 玩电毁一生 阅读(475) 评论(0) 推荐(0)
摘要:对FPGA的IP核的控制说白了就是对寄存器的控制,而寄存器又是放在RAM中的,所以调试时读RAM也是很重要的一步。记得在某个手册中看到,我的Atyls的内存是little endian,所以读内存的时候还要进行转换顺序。摘抄一段Big/Little Endian的解释:Big-endian and little-endian are terms that describe the order in which a sequence ofbytes are stored in computer memory. Big-endian is an order in which the "b 阅读全文
posted @ 2014-03-31 16:37 玩电毁一生 阅读(2403) 评论(0) 推荐(0)
摘要:学习硬件平台,第一件事不是GPIO就是串口,第二件事差不多就是中断了。查了网上资料MicroBlaze中断的基本都是基于PLB总线的,毕竟PLB总线用的久。于是就自己折腾着学习AXI的中断使用。其实基于PLB和基于AXI中断的使用并没有什么区别,我本人也是对照着PLB总线的源代码学习的AXI中断的使用。首先,需要搭建一个硬件平台,使用EDK,添加GPIO和INTC的IP,我本人使用的是Digilent Atyls Board,就直接用官方提供的一些资料了。但其他板子其实也差不多。首先,GPIO要使用中断,并将中断信号连接到INTC模块,同时INTC的信号还要连接到MicroBlaze的Inte 阅读全文
posted @ 2014-03-22 16:46 玩电毁一生 阅读(9183) 评论(0) 推荐(0)
摘要:Atyls板子购买已经有几个月了,中途正好经过一个寒假,一直也没怎么搞。尤其是FPGA这东西,体系太过庞大复杂,资料也比较难搞,入门着实不易。一直寻找德致伦官方HDMI的IP的driver,给官方发信,只给了个我们将考虑这个问题的回复,然后就没音了。。今天尝试用SDK试试简单的程序。首先按照\Atlys_BSB_Support_v_3_6\Atlys_AXI_BSB_Support\Atlys_AXI_BSB_Support.pdf的流程在xps中搭建出MicroBlaze核心,然后export到edk中.在edk中,file-->new-->Application Project 阅读全文
posted @ 2014-03-06 19:43 玩电毁一生 阅读(484) 评论(0) 推荐(0)
摘要:昨天终于搞定了ISE仿真出错的问题, 今天重新尝试跑Digilent给的AXI例程.但是又遭遇到Platgen failed的错误.系统环境如下:Win7 x64 ultimateXilinx ISE Suite 14.7(nt64)具体错误如下:XST - "ERROR:Xst:2647 - Failed to run core generator formacro"解决方案:通过搜索, 在Xilinx官网查到若干此问题解决方案.AR# 46159:http://china.xilinx.com/support/answers/46159.htmAR# 38388:htt 阅读全文
posted @ 2014-02-26 14:33 玩电毁一生 阅读(881) 评论(0) 推荐(0)
摘要:本人也是初学FPGA, 因为毕业设计的需求, 购置了一块Atyls的板子开始学习FPGA.学习过程中,遇到许多开发环境的问题, 动不动就是编译错误什么的, 真是悲催死了.这个问题只是我遇到的若干问题的其中之一, 纠结了很久, 终于今天灵光一现地给解决了...问题描述:在使用ISE的Isim仿真时, 提示出错 :FATAL_ERROR:Simulator:Fuse.cpp:209:1.133 - Failed to compile one of the generated C files. Please recompile with -mt off -v 1 switch to identify 阅读全文
posted @ 2014-02-25 15:46 玩电毁一生 阅读(8313) 评论(0) 推荐(0)