作业1
• 使用二进制表示数字,是计算机科学中最基本的问题之一。
• 使用FPGA进行数学运算,本质上就是要把数学模型、公式,映射成数字电路。
• 用FPGA实现定点数运算,对于设计运算单元电路很重要。
• 请自行设计若干实验,实现和验证课堂上讲过的关于定点数的知识,例如:
o 2补码的溢出回绕特性
o 不同长度的2补码数据进行运算时,先进行符号扩展和数据对齐,然后再进行加、减法运算
o 乘法和加法对字长的影响,验证2补码整数的乘法和加法运算
o 定点数实验,验证带小数位的定点数的乘加运算
• 仿真工具,可以使用Modelsim,或是Quartus的波形仿真,也可以使用Matlab辅助
• 仿真验证通过之后,在Quartus里面编译一下电路,关注你的电路消耗了多少FPGA资源,这是很有用的经验
• 请把完成的所有实验内容写在一篇博客里,文档尽量条理清楚,便于教师阅读
实验1 二补码的溢出回绕特性
当输入和输出数据都是有符号数时将采用补码加法器。当加法结果过大,会溢出回绕。
代码:
module buma (
a ,
b ,
c );
input signed [2:0]a;
input signed [2:0]b;
output signed [2:0]c;
reg [2:0]c;
always @(a or b)
begin
c = a + b;
end
endmodule
用了9个引脚,3个逻辑单元,3个组合函数块。