2

好吧,这个问题更像是一个讨论。我有这个pipelined MIPSVHDL.

我完全熟悉流水线的概念,但我从未使用VHDL. 有什么好的资源可以学习pipelined processorsVHDL.

我需要抢先一步吗?

4

2 回答 2

9

大卫哈里斯和莎拉哈里斯有一本书数字设计和计算机架构。请参阅第 7 章微架构。7.5 讨论了使用 MIPS 处理器模型的流水线。7.6 显示了 Verilog 和 VHDL 代码的实现。这是一本教科书,还有第二版,其中来自配套网站的 HDL 示例显然是 VHDL 和 SystemVerilog。纵观 VHDL 代码,似乎并没有强调流水线寄存器,而是强调构建块。7.5 中的数字应该是一个很大的帮助,也可以从配套站点下载。

在 opencores 网站上有Ion - MIPS(tm) compatible CPU :: Overview,您可以在其中下载 R3000 兼容内核的 VHDL 模型(注册后)。流水线阶段在 mips_cpu.vhdl 中很明显,名称前面是流水线阶段(例如 p1_alu_flags)。有用于练习模型及其部件的测试台。有关于工具的信息,因此您可以生成在其上运行的软件。

有 GeorgiaTech 的 ECE 3055a 课程(请参阅2000 年的EE 3055 大纲,其中 4 周专门用于流水线。如果您查看Lab-2 帮助,练习是在 VHDL 中将流水线添加到 RTL 模型中。显示了第一阶段。什么您可以摆脱这一点,您可以将流水线添加到行为模型中,也暗示在上面的书中。您可以下载VHDL 综合模型 (尝试MIPSSYN.TAR)。可以在此处找到所指的指令模拟器:ftp://ftp.cs.wisc.edu/pub/spim/的索引。Laboratory Assignment 2的描述也是可用的。谷歌只是充满了这方面的线索,MIPS 模型在用于计算机体系结构实验室的 MIPS 处理器的 VHDL 综合模型。主页ECE 3055 计算机体系结构和操作系统 J. Hamblen。请参阅主页32 位 MIPS VHDL 模型,了解在与 Altera 工具一起使用的类中使用的一组文件。包含 VHDL 源代码。指令模拟器将用于验证。

于 2013-07-12T14:47:07.090 回答
2

首先绘制您想要的硬件的图片。

如果您已经了解 VHDL 并且知道一组有限的编码模板,例如逻辑门(与、或、非、异或)、加法器 (+)、乘法器 (*)、多路复用器(想想 case 语句)、状态机和触发器你都准备好了。确保了解运算符结果大小的特性 - 请参阅 VHDL Math Tricks of the Trade 以获取帮助: http ://www.synthworks.com/papers

接下来为您的图片编码。为硬件图中的每个部分编写一个过程或分配,并将它们与信号连接在一起。

一个过程的东西和使用一些人喜欢的变量只是一种改进。立即完成您的项目。稍后专注于细化并确定您最喜欢的编码风格。即使是现在,我的编码风格仍在不断发展。接受它永远不会完美。代码不是艺术。完成和蛮力比优雅但仍在调试要好。PS变量很好。对于某些人来说,尽管它们使了解硬件影响变得更加困难,所以我不建议他们开始使用。如果你觉得它们很容易,那就去做吧——但不要说我现在警告过你。

了解综合工具对硬件创建的编码风格很挑剔。因此 ,在进行过程中模拟合成每个块,这样您就可以了解模拟和合成中的工作原理——这样最终您在合成过程中就不会进行大量修正。

于 2013-07-12T16:24:18.163 回答