第一范文网 - 专业文章范例文档资料分享平台

CPU课程设计 - 图文

来源:用户分享 时间:2025/8/26 0:04:41 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

R0 = {R0[6:0], 1'b0}; 2'b01 :

R1 = {R1[6:0], 1'b0}; 2'b10 :

R2 = {R2[6:0], 1'b0}; default :

R3 = {R3[6:0], 1'b0}; endcase endcase

addp, subp, meth1, mulp, logp, comp, swap : case (IR[9:8]) 2'b00 : A = R0; 2'b01 : A = R1; 2'b10 : A = R2; default : A = R3; endcase default : ; endcase end 2 :

case (IR[15:12]) addp :

case (IR[11:10]) 2'b00 : begin

temp = ({R0[7], R0[7:0]}) + ({A[7], A[7:0]}); R0 = temp[7:0];

overflow <= temp[8] ^ temp[7]; end 2'b01 : begin

temp = ({R1[7], R1[7:0]}) + ({A[7], A[7:0]}); R1 = temp[7:0];

overflow <= temp[8] ^ temp[7]; end 2'b10 : begin

temp = ({R2[7], R2[7:0]}) + ({A[7], A[7:0]}); R2 = temp[7:0];

11 <0>

overflow <= temp[8] ^ temp[7]; end default : begin

temp = ({R3[7], R3[7:0]}) + ({A[7], A[7:0]}); R3 = temp[7:0];

overflow <= temp[8] ^ temp[7]; end endcase subp :

case (IR[11:10]) 2'b00 : begin

temp = ({R0[7], R0[7:0]}) + (~({A[7], A[7:0]})) + 1'b1; R0 = temp[7:0];

overflow <= temp[8] ^ temp[7]; end 2'b01 : begin

temp = ({R1[7], R1[7:0]}) + (~({A[7], A[7:0]})) + 1'b1; R1 = temp[7:0];

overflow <= temp[8] ^ temp[7]; end 2'b10 : begin

temp = ({R2[7], R2[7:0]}) + (~({A[7], A[7:0]})) + 1'b1; R2 = temp[7:0];

overflow <= temp[8] ^ temp[7]; end default : begin

temp = ({R3[7], R3[7:0]}) + (~({A[7], A[7:0]})) + 1'b1; R3 = temp[7:0];

overflow <= temp[8] ^ temp[7]; end endcase meth1 :

case (IR[11:10]) 2'b00 :

case (IR[9:8]) 2'b00 :

R0 = R0 + 1'b1; 2'b01 :

R1 = R1 + 1'b1;

12 <0>

2'b10 :

R2 = R2 + 1'b1; default :

R3 = R3 + 1'b1; endcase 2'b01 :

case (IR[9:8]) 2'b00 :

R0 = R0 - 1'b1; 2'b01 :

R1 = R1 - 1'b1; 2'b10 :

R2 = R2 - 1'b1; default :

R3 = R3 - 1'b1; endcase 2'b10 :

case (IR[9:8]) 2'b00 :

R0 = R0 + 2'b10; 2'b01 :

R1 = R1 + 2'b10; 2'b10 :

R2 = R2 + 2'b10; default :

R3 = R3 + 2'b10; endcase default :

case (IR[9:8]) 2'b00 :

R0 = R0 - 2'b10; 2'b01 :

R1 = R1 - 2'b10; 2'b10 :

R2 = R2 - 2'b10; default :

R3 = R3 - 2'b10; endcase endcase mulp :

case (IR[11:10]) 2'b00 : begin

temp2 = R0 * A;

13 <0>

R0 = temp2[7:0]; R1 = temp2[15:8]; end 2'b01 : begin

temp2 = R1 * A; R0 = temp2[7:0]; R1 = temp2[15:8]; end 2'b10 : begin

temp2 = R2 * A; R2 = temp2[7:0]; R3 = temp2[15:8]; end default : begin

temp2 = R3 * A; R2 = temp2[7:0]; R3 = temp2[15:8]; end endcase logp :

case (IR[11:10]) 2'b00 :

case (IR[9:8]) 2'b00 :

R0 = R0 & A; 2'b01 :

R0 = R0 & A; 2'b10 :

R1 = R1 & R0; 2'b11 :

R1 = R1 & R1; endcase 2'b01 :

case (IR[9:8]) 2'b00 :

R0 = R0 | A; 2'b01 :

R0 = R0 | A; 2'b10 :

R1 = R1 | R0; 2'b11 :

14 <0>

R1 = R1 | R1; endcase 2'b10 :

case (IR[9:8]) 2'b00 :

R0 = R0 ^ A; 2'b01 :

R0 = R0 ^ A; 2'b10 :

R1 = R1 ^ R0; 2'b11 :

R1 = R1 ^ R1; endcase default :

case (IR[9:8]) 2'b00 :

R0 = (~A); 2'b01 :

R0 = (~A); 2'b10 :

R1 = (~R0); 2'b11 :

R1 = (~R1); endcase endcase comp :

case (IR[11:10]) 2'b00 :

if (R0 > A)

R0 = 8'b00000001; else if (R0 < A)

R0 = 8'b10000001; else

R0 = 8'b00000000; 2'b01 :

if (R1 > A)

R1 = 8'b00000001; else if (R1 < A)

R1 = 8'b10000001; else

R1 = 8'b00000000; 2'b10 :

if (R2 > A)

R2 = 8'b00000001;

15 <0>

搜索更多关于: CPU课程设计 - 图文 的文档
CPU课程设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5xcqk2lgwm1xkfw968ko77t6k14pg601b7j_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top