八位运算器实验报告.doc

八位运算器实验报告.doc

ID:59363056

大小:139.50 KB

页数:5页

时间:2020-09-04

八位运算器实验报告.doc_第1页
八位运算器实验报告.doc_第2页
八位运算器实验报告.doc_第3页
八位运算器实验报告.doc_第4页
八位运算器实验报告.doc_第5页
资源描述:

《八位运算器实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《组成原理》实验报告姓名:赵帅____________专业:网络工程________学号:0121121394______日期:2014年11月25日实验一:8位运算器的设计1,设计目的:1)学习并练习verilog语言2)了解8位加法器实现原理2,设计目标:1)使用verilog语言编写8为运算器并进行仿真模拟3,模块设计规格及输入输出端变量说明1)3模块设计规格及输入输出端变量说明:输入:[2:0]s(操作指令),LDA,LDB(输入控制),[7:0]IN(输入数);输出:[7:0]A,B(操作数),ALU(结果

2、寄存器),FZ(判零),FC(进位);2)操作指令表:运算类型S2S1S0功能逻辑运算000ALU=A001ALU=A&B010ALU=A

3、B011ALU=~A移位运算100ALU=A逻辑左移一位算术运算101ALU=A+B110ALU=A+1111ALU=A-14,程序原理连接图5,程序代码Moduletest(T4,s,A,B,LDA,LDB,FZ,FC,IN,ALU);input[2:0]s;inputLDA,LDB,T4;input[7:0]IN;output[7:0]A,B,ALU;outputFZ,FC;

4、reg[7:0]A,B,ALU;regFZ,FC;/**输入模块,当clk上升沿时,如果LDA为1,则把IN的值给A,否则赋给B*/always@(posedgeCLK)beginif(LDA==1'b1)beginA<=IN;endelseif(LDB==1'b1)beginB<=IN;endend/**计算模块,根据操作数s的不同值为A和B进行八种不同的计算,其中当A+B*进行加法计算时,把进位值赋给FC*/always@(s[2]ors[1]ors[0])begincase({s[2],s[1],s[0]})3

5、'b000:ALU<=A;//直接赋值3'b001:ALU<=A&B;//A与B按位与3'b010:ALU<=A

6、B;//A与B按位或3'b011:ALU<=~A;//非A3'b100:ALU<=(A<<1);//A左移一位3'b101:{FC,ALU}<=A+B;//ALU=A+B,FC为A+B的进位3'b110:ALU<=A+1;//加一操作3'b111:ALU<=A-1;//减一操作endcaseend/**该模块的作用是判断ALU是否为,若是FZ赋为1*/always@(negedgeT4)beginif(A

7、LU==8'b00000000)FZ<=1'b1;elseFZ<=1'b0;endendmodule6时序仿真图:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。