SOC FPGA论坛首页-ChipDebug-第6页

首先目录下的inst1_eval.do文件

LATTICE ECP5 FPGA DDR3 MEMORY CONTROL 控制器 如何仿真?

注意下面的路径以及diamond的版本改为你自己的

LATTICE ECP5 FPGA DDR3 MEM CTRL 控制器 如何仿真?

然后启动modelsim键入以下命令进入仿真所在目录,注意替换成你对应的目录

LATTICE ECP5 FPGA DDR3 MEMORY CONTROL 控制器的仿真步骤1

然后键入以下命令运行仿真

LATTICE ECP5 FPGA DDR3 MEMORY CONTROL 控制器的仿真步骤2

可以看到仿真波形以及输出的调试信息

LATTICE ECP5 FPGA DDR3 MEMORY CONTROL 控制器的仿真步骤3

LATTICE ECP5 FPGA DDR3 MEMORY CONTROL 控制器的仿真步骤4

热门评论
chipdebug的头像-ChipDebugchipdebug徽章-创作大使-ChipDebug等级-LV4-ChipDebug作者超级版主0

1.Xilinx ISE 查看子模块资源消耗(我的是14.7,可能跟你的版本略有差异)
先选中顶层,然后在流程的MAP这里右键打开属性对话框,勾上detail, 然后在报告的13项里面查看
Xilinx ISE 查看子模块资源消耗.jpg

FhJBjTQ8HytkYWjdFhQmtB4sM_a6.jpg

2.xilinx有一个专门的文档工具,在这里
https://www.xilinx.com/support/documentation-navigation/overview.html

hitless的功能就是保证在加载过程中 某些重要的固定电平不变 否则会影响电源芯片以及DSP芯片的正常功能

不只是XO3有,LATTCIE的其它系列的CPLD和FPGA也都有这个功能。

该帖子内容已隐藏,请评论后查看

登录后继续评论

该帖子内容已隐藏,请评论后查看

登录后继续评论

Spi模式設定(PYNQ-Z2)-ChipDebugSpi模式設定(PYNQ-Z2)-ChipDebugSpi模式設定(PYNQ-Z2)-ChipDebug
热门评论
chipdebug的头像-ChipDebugchipdebug徽章-创作大使-ChipDebug等级-LV4-ChipDebug超级版主2
我看了pyznq的代码,你用spi_open_device这上函数打开应该就可以实现slave,

spi spi_open_device(unsigned int device) {
    int status;
    u16 dev_id;
    unsigned int base_address;
    u32 control;

    if (device < XPAR_XSPI_NUM_INSTANCES) {
        dev_id = (u16) device;
    }
    else {
        int found = 0;
        for (u16 i = 0; i < XPAR_XSPI_NUM_INSTANCES; ++i) {
            if (XSpi_ConfigTable[i].BaseAddress == device) {
                found = 1;
                dev_id = i;
                break;
            }
        }
        if (!found)
            return -1;
    }
    status = XSpi_Initialize(&xspi[dev_id], dev_id);
    if (status != XST_SUCCESS) {
        return -1;
    }
    base_address = xspi[dev_id].BaseAddr;
    // Soft reset SPI
    XSpi_WriteReg(base_address, XSP_SRR_OFFSET, 0xA);
    // Master mode
    control = XSpi_ReadReg(base_address, XSP_CR_OFFSET);
    // Master Mode
    control |= XSP_CR_MASTER_MODE_MASK;
    // Enable SPI
    control |= XSP_CR_ENABLE_MASK;
    // Slave select manually
    control |= XSP_INTR_SLAVE_MODE_MASK;
    // Enable Transmitter
    control &= ~XSP_CR_TRANS_INHIBIT_MASK;
    // Write configuration word
    XSpi_WriteReg(base_address, XSP_CR_OFFSET, control);

    return (spi) dev_id;
}