所谓流水线设计实际上就是把规模较大、层次较多的组合逻辑电路分为几个级,在每一级插入寄存器组暂存中间数据。K 级的流水线就是从组合逻辑的输入到输出恰好有 K 个寄存器组(分为 K 级,每一级都有一个寄存器组)上一级的输出是下一级的输入而又无反馈的电路。
非流水线设计:
流水线设计:
四级8位加法器的设计原理图:
对应的VHDL描述:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTITY adder_8bits_4steps IS
PORT (
cin_a : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
cin_b : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
c_in : IN STD_LOGIC;
clk : IN