FPGA和ASIC的RAM工作模式 | 您所在的位置:网站首页 › 记事本编写代码怎么让背景变小代码 › FPGA和ASIC的RAM工作模式 |
1、前言
Vivado在生成memory的时候,有个Operating Mode选项。 本篇将专门分析这些工作模式的含义。 2、具体含义官方解释如下: “WRITE_FIRST” 模式,写操作时,输出端口会将当前写的数据输出。(ASIC中又称“write through”,或AWT,Async) “READ_FIRST” 模式,写操作时,输出端口会将当前写地址的原数据输出。 “NO_CHANGE”模式,写操作时,输出端口会保持原值不变。只有在读操作的过程中输出端口才会变化。
不好理解没关系,下面列出图示和时序波形: “WRITE_FIRST” 模式(ASIC中又称“write through”)写入的数据一边写到RAM内核,一边输出到端口。“READ_FIRST” 模式写入的数据写到RAM内核,写地址指向的RAM数据输出到端口。 “NO_CHANGE” 模式写入的数据写到RAM内核。输出端口的数据(实际上有个寄存器)保持不变。
下面列出对应的代码,有人习惯从RTL代码上理解。此代码是可以被Vivado工具直接识别的。 “WRITE_FIRST”代码,可综合 //write port always @(posedge clk) begin if(en && we) RAM[addr] |
CopyRight 2018-2019 实验室设备网 版权所有 |