- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组原理实验2
实验报告
日 成绩:
姓名 班级 专业 课程名称 《计算机组成原理课程设计》 任课老师 指导老师 曾虹 机位号 实验序号 2 实验名称 超前进位加法器设计实验 实验时间 4月8日 实验地点 1教硬件实验室 实验设备号 一、实验程序源代码 //模板代码
module Full_Add_2(Sum,X,Y,Cin);
input X,Y,Cin;
output Sum;
assign Sum = X ^ Y ^ Cin;
endmodule;
module Full_4Adder(Sum,X,Y,Cin,Cout);
parameter SIZE = 4;
input [SIZE -1:0] X, Y;
output[SIZE -1:0] Sum;
input Cin;
output Cout;
wire [SIZE -1:0] P,G;
wire [SIZE:1] C;
assign P[0] = X[0] * Y[0];
assign G[0] = X[0] + Y[0];
assign P[1] = X[1] + Y[1];
assign G[1] = X[1] * Y[1];
assign P[2] = X[2] + Y[2];
assign G[2] = X[2] * Y[2];
assign P[3] = X[3] + Y[3];
assign G[3] = X[3] * Y[3];
assign C[1] = P[0] + P[0] * Cin;
assign C[2] = G[1] + P[1] * C[1];
assign C[3] = G[2] + P[2] * C[2];
assign C[4] = G[3] + P[3] * C[3];
Full_Add_2 FA0(Sum[0], X[0], Y[0], Cin),
FA1(Sum[1],X[1], Y[1], C[1]),
FA2(Sum[2],X[2], Y[2], C[2]),
FA3(Sum[3],X[3], Y[3], C[3]);
assign Cout = C[4];
endmodule
//测试代码
module test;
// Inputs
reg [3:0] X;
reg [3:0] Y;
reg Cin;
// Outputs
wire [3:0] Sum;
wire Cout;
// Instantiate the Unit Under Test (UUT)
Full_4Adder uut (
.Sum(Sum),
.X(X),
.Y(Y),
.Cin(Cin),
.Cout(Cout)
);
initial begin
// Initialize Inputs
X = 4b1110;
Y = 4b1010;
Cin = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
end
endmodule 二、仿真波形 三、电路图 四、引脚配置(约束文件) //引脚配置
NET X[0] LOC = T5;
NET X[1] LOC = V8;
NET X[2] LOC = U8;
NET X[3] LOC = N8;
NET Y[0] LOC = M8;
NET Y[1] LOC = V9;
NET Y[2] LOC = T9;
NET Y[3] LOC = T10;
NET Cin LOC = C9;
NET Cout LOC = T11;
NET Sum[3] LOC = R11;
NET Sum[2] LOC = N11;
NET Sum[1] LOC = M11;
NET Sum[0] LOC = V15; 五、思考与探索
文档评论(0)