18 lines
		
	
	
		
			493 B
		
	
	
	
		
			VHDL
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			493 B
		
	
	
	
		
			VHDL
		
	
	
	
	
	
| ARCHITECTURE studentVersion OF lowpass IS
 | |
| 
 | |
|   signal accumulator: unsigned((signalBitNb-1)+shiftBitNb downto 0);
 | |
| 
 | |
| BEGIN
 | |
| 
 | |
|   process(clock)
 | |
|   begin
 | |
|     if reset = '1' then
 | |
|       accumulator <= (others => '0');
 | |
|     elsif rising_edge(clock) then
 | |
|       accumulator <= accumulator + resize(lowpassIn,signalBitNb+shiftBitNb) - shift_right(accumulator, shiftBitNb);
 | |
|     end if;
 | |
|   end process;
 | |
| 
 | |
|   lowpassOut <= resize(shift_right(accumulator, shiftBitNb), signalBitNb);
 | |
| END ARCHITECTURE studentVersion;
 |