实验五 流水线的使用(学生版)

本文介绍了流水线设计的基本概念,并通过实现流水线加法器和乘法器来阐述设计思想。实验内容包括流水线加法器的测试平台,流水线乘法器的实现,以及在FPGA上的硬件测试。实验结果显示,流水线结构能提高运算效率,但也存在延迟问题。最后,文章探讨了流水线结构的优缺点,并提供了实验结果和思考题。
摘要由CSDN通过智能技术生成

1.实验目的:
(1)进一步掌握行为级语法。
(2)掌握流水线的设计思想和设计方法。
(3)学会使用流水线改进设计。


2.实验涉及语法:
(1)第4章行为级建模语法。
(2)第7章可综合模型设计部分流水线的概念。


3. 实验内容


本实验要完成一个流水线加法器的设计。流水线的概念在第7章中已经介绍过了,这里不再重复。首先请观察书中的如下例子:


module add pp(a,b,cin, sum, cout,clock);
input [7:0]a,b;
input cin,clock;
output [7:0]sum;
output cout;
reg clo;
wire cl;
always@(posedge clock)
clo<=c1;
assign(cout,sum[7:4])=a[7:4]+b[7:4]+c10;
assign(cl,sum[3:0])=a[3:0]+b[3:0]+cin;
endmodule


实验内容一:请为此模块编写测试平台,输入的加数和被加数使用随机数产生,请观察得到的仿真波形结果,在输出结果部分的波形是否有你不理解的异常变化?如果有,请分析原因。


现完成一个流水线乘法器的设计,其实流水线设计非常简单,只是刚刚接触时可能没有思路,请看如下代码:
module mul_Pp (mul_a,mul_b,clock, reset_n, mul out);
input [3:0]mul_a, mul b;
input clock;
input xeset_n;
output[7:0]mul out;
reg[7:0] mul_out;
reg [7:0]temp_and0;
reg [7:0]temp_and1;
reg[7:0] temp_and2;
reg[7:0]temp_and3;
reg[7:0] temp_addl;
reg[7:0] temp_add2;
always(posedge clock or negedge reset n)
begin
if(!reset_n)
begin
mul out <= 0;
temp_and0<=0ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值