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;
 |