实验目的
- 熟悉并掌握时序逻辑电路的设计方法
- 对利用功耗换取性能有更深一步的了解
- 熟悉掌握提升电路效率的方法
实验原理

- 将b的每一位乘a数组得到结果左移相应的位数后逐级相加。
- 分频模块将50mhz的信号分解成200hz的信号
- 控制模块将输出分解成4组信号
- 4组信号刷新数码管
8位流水线乘法器,四个时钟周期得到结果:
module mulit_8bitspipelining(a,b,clk,rst,z);
input [7:0]a,b;
input clk;
input rst;
output reg [15:0]z;
reg [15:0] stored0;
reg [15:0] stored1;
reg [15:0] stored2;
reg [15:0] stored3;
reg [15:0] stored4;
reg [15:0] stored5;
reg [15:0] stored6;
reg [15:0] stored7;
reg [15:0] sk1;
reg [15:0] sk2;
reg [15:0] sk3;
reg [15:0] sk4;
reg [15:0] sk5;
reg [15:0] sk6;
always @(posedge clk or negedge rst) //clk 上升沿或 rst下降沿执行
if (!rst) //寄存器清零
begin
z<=0;
stored0 <= 0;
stored1 <= 0;
stored2 <= 0;
stored3 <= 0;
stored4 <= 0;
stored5 <= 0;
stored6 <= 0;
stored7 <= 0;
sk1<=0;
sk2<=0;
sk3<=0;
sk4<=0;
end
else
begin
if (a[0]==1) stored0<={8'b0,b};
else stored0<=16'b0;
if (a[1]==1) stored1<={7'b0,b,1'b0};
else stored0<=16'b0;
if