重温FPGA设计流程一:(IP封装)
judy 在 周四, 08/15/2019 - 08:55 提交
一、IP封装:1、打开Vivado,点击Create Project。2、点击Next,在Project name中输入我们的项目名称:74LS00。3、点击Next,默认勾选Do not specify…4、点击Next,核对信息,然后点击Finish。5、在空白工程中,左侧Flow Navigator中,选择PROJECT MANAGER下的Add Source。
一、IP封装:1、打开Vivado,点击Create Project。2、点击Next,在Project name中输入我们的项目名称:74LS00。3、点击Next,默认勾选Do not specify…4、点击Next,核对信息,然后点击Finish。5、在空白工程中,左侧Flow Navigator中,选择PROJECT MANAGER下的Add Source。
这里引用的u-boot,kernel,busybox版本分别是:
u-boot : U-Boot 2017.01
kernel : 4.9.0-xilinx-v2017.4
busybox : BusyBox v1.24.1
根据Zynq MPSOC的设计,EMIO占用GPIO BANK3至5的全部32位,对应GPIO的序号78至174,共96个EMIO但是在PS模块中引出的PL中断会默认占用高序号值的EMIO,如本实验中PS模块的pl_resetn0复位信号占用了序号174的EMIO
TCP的工作机制比UDP要复杂的多。本文介绍用TCP发送“Hello World”的实例,讨论程序设计中几个关键的问题。本文撰写思路假设您已经阅读了本系列前几篇与lwIP、UDP相关的文章,重复性语言不过多描述。本文TCP工作在client模式。TCP内容较多,后面的文章会逐步深入介绍
bram的由很多latches和寄存器构成的bram块构成,通过Mux数据选择器,将数据送入输出寄存器,最终输出。由此图可知,bram的reset仅仅对输出寄存器重置,而不会重置内部存储数据
本文档继承zcu102_1建立的工程,打开Vivado工程后,打开Block Design,双击zynq模块进入配置界面。在PS UltraScale+ Block Design页可以看到UART0和UART1已使能。
从前面几个UDP的程序实例中我们可以体会到pbuf的重要性,对pbuf的灵活操作也是完成程序功能和提高代码效率的关键。本篇总结lwip的pbuf.c中的常用函数并给出示例程序,其中部分函数和string.h文件中提供的传统内存操作函数功能相同
本篇咱们继续以ADI公司的多通道高速ADC—AD9249为实例,向大家演示FPGA是如何通过SPI协议向该ADC读写寄存器配置数据的。如下图所示为AD9249的功能框图,其为16通道、65MSPS、14bit精度的多通道高速ADC,且其SPI接口只为三线模式
本文首先说明了PL开发的完整流程,再对仿真和调试功能进行单独说明。
前两篇我们学习了UDP的发送,本文学习如何处理接收数据。lwIP为UDP接收提供了回调机制,学会回调机制的使用可以为学习更复杂的TCP回调打下基础。本文使用UDP设计一个echo服务器,开发板将来自所有IP地址和端口的数据原路发送回去,功能和SDK提供的“lwip echo server”例程一样,只不过例程使用的是TCP协议。