添加&配置Zynq UltraScale+ MPSoc IP 双击该IP,在Clock Configuration -> Output Clocks -> Low Power Domain Clocks -> PL Fabric Clocks中设置见上图。 这个PL Fabric Clocks就是PS提供给PL的100MHz时钟。 最终将pl_clk0引出,得到下图。 执行Generate Output Products和Create HDL Wrapper,最后修改顶层文件如下:...
双击该IP,在Clock Configuration -> Output Clocks -> Low Power Domain Clocks -> PL Fabric Clocks中设置见上图。 这个PL Fabric Clocks就是PS提供给PL的100MHz时钟。 最终将pl_clk0引出,得到下图。 执行Generate Output Products和Create HDL Wrapper,最后修改顶层文件如下: 代码语言:javascript 代码运行次数:0 ...
添加&配置Zynq UltraScale+ MPSoc IP 双击该IP,在Clock Configuration -> Output Clocks -> Low Power Domain Clocks -> PL Fabric Clocks中设置见上图。 这个PL Fabric Clocks就是PS提供给PL的100MHz时钟。 最终将pl_clk0引出,得到下图。 执行Generate Output Products和Create HDL Wrapper,最后修改顶层文件如下:...
axi_lite_v1_0文件说明 这个代码主要功能是调用了axi_lite_v1_0_S00_AXI模块。在真实的使用中我们需要进行修改。添加一些信号来和PL通信。 信号名称 说明 o_axi_clk AXI-Lite的时钟 o_axi_rst_n 复位信号 o_rx_addr PS写寄存器的地址(PS to PL) o_rx_data PS写寄存器的数据(PS to PL) o_rx_data...
使用鼠标左键,单击FCLK_CLK0,并拖动鼠标至M_AXI_GP0_ACLK,将这两个管脚短接起来: 在Sources窗口,右键点击design_1.bd文件,在弹出的菜单中,选择Generate Output Products…,并在随后弹出的对话框中点击Generate: 输出文件生成完毕后,点击OK: 在Sources窗口,右键点击design_1.bd文件,在弹出的菜单中,选择Create HDL...
module pl_read( clk, rst, m_axis_tvalid, m_axis_tdata, m_axis_tkeep, m_axis_tlast, m_axis_tready, m_ready, m_data, m_datavalid, m_datalast ); input clk; input rst; input m_axis_tvalid; input [31:0]m_axis_tdata; ...
ARM_CLK_CTRL---0xF8000120 设置分频为2,选择arm PLL,使能各个倍频输出 ARM_PLL_CTRL---0xF8000100 设置FDIV为60 ARM_PLL_CFG --- 0xF8000110 设置LOCK PLL_CP PLL_RES分别为250,2,4 具体过程: step1:确认该寄存器可以解锁锁定 step2:设置以上三个寄存器 step3...
当然用到了PL部分逻辑则至少需要一个时钟输出到PL部分,这里选择FCLK_CLK0输出50MHz,如下图: 推荐加入zynq后,不要自动连接,再加入gpio并位宽设置为3,具体设置如下图: GPIO设置好后,再点击上面的蓝色字体的自动连接,即可得到上面的连接,这样可以减少手动连接量。
在进行此操作前,需要先配置好相关环境和工具。首先打开QSPI SPI FLASH,并根据原理图选择对应的管脚。确保QSPI FLASH的连接正确无误。接着,选择合适的DDR型号,这需根据自己的硬件板子进行调整。将M_AXI_GP0_ACLK连接到FCLK_CLK0,以确保数据传输的稳定性。完成硬件配置后,进行自动化操作,通过Run_...
(2)PL读BRAM代码 wire[0:0]readEnVio;//启动读数据reg[0:0]readEnReg1;//对readEnVio延迟一个clkreg[0:0]rdState;//读数据状态:0代表IDLE.1代表正在读reg[31:0]addrbRead;//读数据地址/*** ***//*** PL 读出BRAM ***//*** ***/always@(posedgeclk_bram)beginif(rstb)beginreadEnReg1<=...