将陆续上传本人写的新书《自己动手写CPU》,今天是第33篇,我尽量每周四篇
亚马逊的销售地址如下,欢迎大家围观呵!
http://www.amazon.cn/dp/b00mqkrlg8/ref=cm_sw_r_si_dp_5kq8tb1gyhja4
在当当、京东、互动、北发等网上书店均有!
除法指令的实现过程有点长,分两篇博文介绍,今天是第二篇。
7.12.2 修改译码阶段的ID模块
译码阶段的ID模块要增加对除法指令的分析,根据图7-15给出的指令格式可知,除法指令都是SPECIAL类指令,可以依据功能码确定是哪一种指令,确定指令的过程如图7-19所示。
其中涉及的宏定义如下,正是图7-15中各个指令的功能码。在本书附带光盘Code\Chapter7_3目录下的defines.v文件中可以找到这些定义。
`define EXE_DIV 6'b011010
`define EXE_DIVU 6'b011011
修改译码阶段的ID模块如下。完整代码位于本书附带光盘Code\Chapter7_3目录下的id.v文件。
module id(
......
);
......
assign stallreq = `NoStop;
always @ (*) begin
if (rst == `RstEnable) begin
......
end else begi