显然,这是一个家庭作业问题。我正在尝试用 VHDL 流水线化一个简单的 5 级(IF、ID、EX、MEM、WB)单周期 MIPS 处理器。我不需要为它实施转发或危险检测。我只是不确定我需要实现哪些组件。
- 是否有必要为每个信号创建 D 触发器?
- 这里的管道实现使用 for 循环作为输出 - 这是我应该做的吗?
任何提示将不胜感激,我似乎无法在 VHDL 中找到有关流水线的很多相关信息。
显然,这是一个家庭作业问题。我正在尝试用 VHDL 流水线化一个简单的 5 级(IF、ID、EX、MEM、WB)单周期 MIPS 处理器。我不需要为它实施转发或危险检测。我只是不确定我需要实现哪些组件。
任何提示将不胜感激,我似乎无法在 VHDL 中找到有关流水线的很多相关信息。
您可能想要做的是为管道的每个阶段创建一个单独的实体,然后将一个阶段的输出连接到另一个阶段的输入。
为了确保事情正确流水线,您只需要确保每个阶段只在上升沿执行它需要执行的任何处理。
如果你想要一个例子,看看我的这个项目。特别是在文件 dft_top.vhd 和 dft_stage[1-3].vhd 中。它在流水线阶段实现了 16 点 16 位定点 DFT。