寄存器fpga,一步一步学做一个CPU——7,用FPGA完成Proj3之寄存器文件实现

书接上回……
第四步:制作一个寄存器组(也称寄存器文件)模块(组件)。
1,输入与输出
根据前面设计总揽中得到的模块间的关系,设计出输入输出端口,包括rs,rt,rw,另外是rsBus,rtBus,当然还有使能控制,时钟,reset等。
clip_image002寄存器fpga,一步一步学做一个CPU——7,用FPGA完成Proj3之寄存器文件实现
2,寄存器
作为第一小步你可以先放四个寄存器,然后做出一个输出,即可选择四个寄存器中的任意一个的值输出。
注意:用MegaWizard生成模块文件的时候,别忘了加一个后缀,因为这里都是子模块设计,后面要应用到顶层设计中去,为避免各个子模块设计中引入的标准模块文件重名,推荐加一个子模块名字的后缀,例如lpm_dff_reg0,就表示reg模块中引入的lpm_dff模块。
clip_image004clip_image002寄存器fpga,一步一步学做一个CPU——7,用FPGA完成Proj3之寄存器文件实现
3, 输入输出数据选择器
四个寄存器不能同时全部加到两个数据输出端口rsBus和rtBus上,rwBus一次也只能对一个寄存器写入,那么就需要相应的数据选择以及写使能控制。
clip_image006clip_image004clip_image002寄存器fpga,一步一步学做一个CPU——7,用FPGA完成Proj3之寄存器文件实现
clip_image008clip_image006clip_image004clip_image002寄存器fpga,一步一步学做一个CPU——7,用FPGA完成Proj3之寄存器文件实现
4, 整体设计
全部完成好的原理图如下:
clip_image010clip_image008clip_image006clip_image004clip_image002寄存器fpga,一步一步学做一个CPU——7,用FPGA完成Proj3之寄存器文件实现
各个部分之间的关系如结构框图:
clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002寄存器fpga,一步一步学做一个CPU——7,用FPGA完成Proj3之寄存器文件实现
5, 总结
从设计一开始要养成良好的绘图习惯,以结构清晰为原则,设计按照一定顺序完成,比如这里的顺序就是:
输入输出端口——>核心模块——>数据通路控制
另外将各部分功能用注释文字标好,方便阅读。
Tags:  fpgacpu cpu寄存器 cpu中的寄存器 寄存器fpga

延伸阅读

最新评论

发表评论