http://www.wodefanwen.com/lhd_3076u8kilp4i6jp0x0cx_1.html
IP Integrator flow 1. 创建RTL工程
2. 创建IP Integrator Block Design 3. 添加zynq 处理器
ip中搜索zynq,添加zynq7 Processing System,其中的BFM版本为先前的IP处理器版本。鼠标右键点击FIXED_IO和DDR接口,选择make external,连接到芯片外部。但此时处理是完全未经过配置的,双击处理器进行配置。
自动添加的外部接口:(参考ug585文档)
FIXED_IO, 是专用的内部固化的外设IO,作用?
54个MIO口,
DDR_VRN,DDR_VRP: DDR DCI voltage reference pins, refer to UG933, Zynq-7000 AP SoC PCB Design and Pin Planning Guide.
PS_SRSTB: Debug system reset, active Low. Forces the system to enter a reset sequence.
PS_CLK: System reference clock PS_PORB: Power on reset, active low
DDR接口,处理器ddr内存寻址接口; M_AXI_GP0_ACLK,
M_AXI_GP0,在PS-PL Configuration中可取消对GP Master AXI Tnterface的选择 FCLK_CLK0: PL Pabric Clocks,不使用可在Clock Configuration 中disable。 FCLK_RESET0_N:时钟复位使能,可在General中disable 。
4. 配置processing System,
配置处理器内部控制模块的详细功能与特性查看:Soc Technical Reference manual http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
通用配置:
(1)
MIO配置:Bank0与Bank1分区的IO对应FPGA处理器可配置的IO,由硬件决
定电平还是芯片已经指定电平?由硬件决定。
UART1映射到MIO[48:49] zedboard Bank 0 IO Voltage:LVCMOS 3.3V zedboard Bank 1 IO Voltage:LVCMOS 1.8V zedboard PS与PL电源部分是完全独立,但是无论什么时候有PL电源供电就必须有PS电源供电。
PS电源部分为DDR IO口独立供电,还为MIO的两个独立的分区Bank0与Bank1供电。
PS专用的信号pin汇总表2-2,注意,对于MIO pin允许的输入电压取决于slcr, MIO_PIN_xx[IO_Type]和[DisableRcvr] bits, 约束条件被定义在Zynq-7000 AP SoC data sheets, 超出限制的电压输入可能损坏输入buffer。
(2)核对IO配置,选择Zynq Block Design,注意UART1是否已经在IO特性中被连接。
注意勾上:GPIO,以使其它的MIO口能够作处理器的GPIO使用。
(3)General Setting常规设置:设置端口特性
在Zynq Block Design中选择General Setting或在PS-PL Configuration中设置。设置UART1 波特率。
(4)配置Memory和Clocks
即使一个简单的Hello World程序被运行,一些不可缺少的PS elements也必须被配置,它包括DDR3 Memory(用来执行PS应用程序),另外系统时钟也必须被配置。
DDR3为zed board开发板上的IC25与IC26,MT41K128M16JT_125. Clock Configuration: 默认时钟频率与ZedBoard和MicroZed匹配:
IO Peripheral CLocks被指定(SPI、QSPI、CAN、SMC、SDIO、ENET),选择后如何更改,例如SPI?
如果不用FCLK_CLK0,可废除PL Fabric Clock, 同时还需废除AXI connection to the PL,在PS-PL Configuration中的取消对GP Master AXI Tnterface的选择。
也可在PS-PL Configuration中取消对FCLK_RESET的选择。
SPI:时钟要求比cpu_1x频率111.1111Mhz更大,可设160Mhz,然后4分频为10Mhz
使能DDR Configuration:必须设置为PCB使用的DDR设置。因为使用2x16 DDR3配置,所以在DDR Controller Configuration中设置游戏的DRAM总线宽度为32bits。
DRAM Training必须全被使能和设置:write level,read gate,read data eye。
保存后完成最小系统设置:其中内部设置的UART1引脚内部设置,未显示出来,其实包含在
了FIXED_IO。
展开FIXED_IO可查看被固定的IO口包含了哪些IO口:包含了含有串口UART1的MIO口、处理器的时钟口......。
(5)完成IP 集成文件(bd文件)
完成处理器配置后,为了便于bd文件作为工程的子模块,可以将bd文件例化为HDL文件。展开design Sources,右键点击bd文件创建HDL wrapper。再把HDL文件设为顶层文件或例化在其它工程中。
5. 输出设计到SDK(software development kit)
5.1 输出到SDK前先完成硬件设计
在FLow Navigator中点击Generate Bitstream,如没有综合和实现,软件将自动综合布线后产生二进制文件。
Bitstream产生完成后,选择Open Implemented Design才能使能Vivado输出bitstream到SDK。
输出到SDK:File —>Export —>Export Hardware for SDK?
5.2 输出到SDK后产生的文件