gpt4 book ai didi

c - microblaze 和 vhdl 之间如何通信?

转载 作者:行者123 更新时间:2023-11-30 17:33:46 27 4
gpt4 key购买 nike

我正在 microblaze xilinx 13.1 中实现 UART。我想将rx值存储在fifo中,这是使用VHDL中的xilinx ipcore实现的。

我收到的字节是这样的,

while(1) {
Recvd_Byte = XUartLite_RecvByte(0x40600000);
}

我已经在我的 VHDL 代码中实现了 fifo。 system.xmp 和 fifo 都是我的顶层模块下的组件。

如何在 C 代码中访问此 Recvd_Byte 并传递到 VHDL 中的 fifo(fifo_wr_data)。

请帮助我。我是 microblaze 的新手。

最佳答案

要将数据写入 fpga 中的寄存器,xil_io.h 中有函数。地址可以在 xparameters.h 中看到您要写入数据的寄存器地址是什么?

默认情况下,IP 核有 32 个寄存器,您从 0x40600000 读取数据;即slv_reg0;假设 slv_reg1 是空闲的,那么您可以在它的地址写入数据。下一个寄存器将位于地址 0x40600004;//假设寄存器宽度为32位

you can use commands 
Xil_Out8(0x40600004);
Xil_Out16(0x40600004);
Xil_Out32(0x40600004);

或者也可以使用命令将数据写入下一个字节

Xil_Out8(0x40600001);

//尝试在问题中提供更多详细信息。

//我们可以以更好的方式帮助您。

关于c - microblaze 和 vhdl 之间如何通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23627287/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com