44 lines
902 B
VHDL
44 lines
902 B
VHDL
|
ARCHITECTURE studentVersion OF pipelineCounter IS
|
||
|
|
||
|
signal b : signed(countOut'range);
|
||
|
signal sum : signed(countOut'range);
|
||
|
|
||
|
COMPONENT pipelineAdder
|
||
|
GENERIC (
|
||
|
bitNb : positive := 32;
|
||
|
stageNb : positive := 4
|
||
|
);
|
||
|
PORT (
|
||
|
reset : IN std_ulogic;
|
||
|
clock : IN std_ulogic;
|
||
|
cIn : IN std_ulogic;
|
||
|
a : IN signed (bitNb-1 DOWNTO 0);
|
||
|
b : IN signed (bitNb-1 DOWNTO 0);
|
||
|
sum : OUT signed (bitNb-1 DOWNTO 0);
|
||
|
cOut : OUT std_ulogic
|
||
|
);
|
||
|
END COMPONENT;
|
||
|
|
||
|
BEGIN
|
||
|
|
||
|
b <= to_signed(1, b'length);
|
||
|
|
||
|
adder: pipelineAdder
|
||
|
GENERIC MAP (
|
||
|
bitNb => countOut'length,
|
||
|
stageNb => stageNb
|
||
|
)
|
||
|
PORT MAP (
|
||
|
reset => reset,
|
||
|
clock => clock,
|
||
|
cIn => '0',
|
||
|
a => sum,
|
||
|
b => b,
|
||
|
sum => sum,
|
||
|
cOut => open
|
||
|
);
|
||
|
|
||
|
countOut <= unsigned(sum);
|
||
|
|
||
|
END ARCHITECTURE studentVersion;
|