老铁们,大家好,相信还有很多朋友对于bit文件怎么写入fpga中的和bit文件怎么烧写的相关问题不太懂,没关系,今天就由我来为大家分享分享bit文件怎么写入fpga中的以及bit文件怎么烧写的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
本文目录
基于fpga的fft的算法实现,利用vivado,zynq7020,怎么实现裸机?fpga的串口通信原理基于fpga的fft的算法实现,利用vivado,zynq7020,怎么实现裸机?Xilinx的ZYNQ7020平台内部包括两部分,即PL和PS。PL为FPGA逻辑部分,PS为双核ARM9。FPGA逻辑与ARM9之间的通信采用高性能的AXI4总线,PS为PL提供系统时钟,复位等基本信号。通过ARM9系统外围挂载AXI接口的DMA来控制FPGA逻辑部分的FFTIP核的数据输入输出。
下面详细介绍具体搭建步骤。
第一步:创建新工程,芯片型号为zynq7020:xc7z020clg484-2,创建好后,点击右侧IPIntegrator,创建系统——zynq_7020_fft_system。
点击OK,跳转到系统构建区。
第二步:在系统构建区,点击AddIP,搜索zynqprocessingsystem,点击后加到区域内zynq系统添加构建后如下图所示:
第三步:配置zynq系统,添加系统外设,内存,配置时钟,中断系统。
配置系统完毕后,创建DDR3端口,时钟和复位输出,及其他IO端口。
第四步:点击AddIP,搜索DMA,添加到系统构建区。
配置DMA的参数。
第五步:添加concatip,将DMA的输入输出中断连接concatip的输入端口,将输出端口连接到zynq的中断端口上。
点击运行自动连接布线。
布线连接后如下图所示。第六步:添加两个AXISTREAMFIFOIP核,分别连接到DMA的输入输出端口,同时配置FIFO的存储深度,及数据位宽。
第七步:右键点击generateoutputproducts,生成我们构建的系统。
等待几分钟,生成后,系统中添加了一些文件及IP
右键点击createHDLWrapper,添加系统顶层文件。
按默认提示点击OK即可
顶层文件添加完成后如下图所示。
致此zynq的ps部分已搭建完毕第七步:点击IPCatalog搜索FFTIP,双击FFTIP核。
进入FFTIP核配置界面,本文选择的数据类型为float型,运行时钟100Mhz,配置流水线等,点击OK,生成FFTIP。
创建FFTIP顶层文件,实例化FFTIP,便于FFTIP的仿真,调用。
顶层文件中添加如下代码。
第八步:在PS的系统顶层文件zynq_7020_fft_system_wrapper中,实例化FFTIP的顶层文件FFT_Top,如下所示。
第九步:创建FFTIP核的仿真文件,单独对FFTIP进行模拟仿真测试。
对于浮点数的FFTIP仿真测试,需要提供单精度浮点数格式(32位的二进制数),且提供虚部和实部。blk_mem_gen_real存放实部,长度为1024,blk_mem_gen_imag存放虚部,长度为1024,本文的FFTIP是之前已调试好的IP测试,直接调用即可。
仿真时序
FFTIP输入数据时序
FFTIP输出数据时序
第十步:测试完成后,生成bit流,不需配置管脚。
生成bit流后,可以查看系统资源利用率。
第十一步:导出Hardware。
启动SDK。第十二步:创建fft_test工程,按默认配置,点击next。
创建main.c。
添加DMA测试例程,同时提供FFTIP所需实部和虚部,且都为单精度浮点数。修改check_data函数,将接收的数据存为文件,导入到matlab中进行数据比对。
经过以上步骤实现了zynq系统对FPGA逻辑部分的FFTIP核的调用。但,还需在硬件平台下进行验证。希望题主或者感兴趣的朋友可以按此步骤验证,也可扩展训练,挂载其他IP核。
欢迎各位同仁相互交流学习,留言探讨。
fpga的串口通信原理串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配
关于bit文件怎么写入fpga中的到此分享完毕,希望能帮助到您。