| 
								
							 | 
							
								# ======================================================================
							 | 
						
						
						
							| 
								
							 | 
							
								# AES encryption/decryption
							 | 
						
						
						
							| 
								
							 | 
							
								# algorithm according to FIPS 197 specification
							 | 
						
						
						
							| 
								
							 | 
							
								# Copyright (C) 2011 Torsten Meissner
							 | 
						
						
						
							| 
								
							 | 
							
								#-----------------------------------------------------------------------
							 | 
						
						
						
							| 
								
							 | 
							
								# This program is free software; you can redistribute it and/or modify
							 | 
						
						
						
							| 
								
							 | 
							
								# it under the terms of the GNU General Public License as published by
							 | 
						
						
						
							| 
								
							 | 
							
								# the Free Software Foundation; either version 2 of the License, or
							 | 
						
						
						
							| 
								
							 | 
							
								# (at your option) any later version.
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								# This program is distributed in the hope that it will be useful,
							 | 
						
						
						
							| 
								
							 | 
							
								# but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						
						
						
							| 
								
							 | 
							
								# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						
						
						
							| 
								
							 | 
							
								# GNU General Public License for more details.
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								# You should have received a copy of the GNU General Public License
							 | 
						
						
						
							| 
								
							 | 
							
								# along with this program; if not, write to the Free Software
							 | 
						
						
						
							| 
								
							 | 
							
								# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
							 | 
						
						
						
							| 
								
							 | 
							
								# ======================================================================
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								# enable the compile of the OVL library
							 | 
						
						
						
							| 
								
							 | 
							
								# if set to 1, you must have the OVL_SRC files in the OVL_LOC directory
							 | 
						
						
						
							| 
								
							 | 
							
								OVL_ENABLE = 1
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								# the location and sources of the OVL library (copyright of Accellera)
							 | 
						
						
						
							| 
								
							 | 
							
								# OVL is not included in this project, you can download it from
							 | 
						
						
						
							| 
								
							 | 
							
								# the Accellera homepage: http://www.accellera.org/downloads/standards/ovl/
							 | 
						
						
						
							| 
								
							 | 
							
								OVL_LOC    = ../../../../../OVL/
							 | 
						
						
						
							| 
								
							 | 
							
								ifeq ($(OVL_ENABLE), 1)
							 | 
						
						
						
							| 
								
							 | 
							
								  OVL_SRC    = $(OVL_LOC)/std_ovl.vhd $(OVL_LOC)/std_ovl_components.vhd \
							 | 
						
						
						
							| 
								
							 | 
							
								               $(OVL_LOC)/std_ovl_procs.vhd $(OVL_LOC)/std_ovl_clock_gating.vhd \
							 | 
						
						
						
							| 
								
							 | 
							
								               $(OVL_LOC)/std_ovl_reset_gating.vhd $(OVL_LOC)/ovl_*.vhd \
							 | 
						
						
						
							| 
								
							 | 
							
								               $(OVL_LOC)/vhdl93/ovl_*_rtl.vhd
							 | 
						
						
						
							| 
								
							 | 
							
								  OVL = _ovl
							 | 
						
						
						
							| 
								
							 | 
							
								else
							 | 
						
						
						
							| 
								
							 | 
							
								  OVL_SRC =
							 | 
						
						
						
							| 
								
							 | 
							
								  OVL =
							 | 
						
						
						
							| 
								
							 | 
							
								endif
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								all : sim wave
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								sim : tb_aes.ghw
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								tb_aes.ghw : ../../rtl/vhdl/*.vhd tb_aes$(OVL).vhd $(OVL_SRC)
							 | 
						
						
						
							| 
								
							 | 
							
									ghdl -a --work=accellera_ovl_vhdl $(OVL_SRC)
							 | 
						
						
						
							| 
								
							 | 
							
									ghdl -a ../../rtl/vhdl/aes_pkg$(OVL).vhd ../../rtl/vhdl/aes.vhd tb_aes$(OVL).vhd
							 | 
						
						
						
							| 
								
							 | 
							
									ghdl -e tb_aes
							 | 
						
						
						
							| 
								
							 | 
							
									ghdl -r tb_aes --wave=tb_aes.ghw --assert-level=error --stop-time=10us
							 | 
						
						
						
							| 
								
							 | 
							
									
							 | 
						
						
						
							| 
								
							 | 
							
								wave : tb_aes.ghw
							 | 
						
						
						
							| 
								
							 | 
							
									gtkwave -T tb_aes.tcl tb_aes.ghw
							 | 
						
						
						
							| 
								
							 | 
							
									
							 | 
						
						
						
							| 
								
							 | 
							
								clean :
							 | 
						
						
						
							| 
								
							 | 
							
									echo "# cleaning simulation files"
							 | 
						
						
						
							| 
								
							 | 
							
									rm -f tb_aes.ghw
							 | 
						
						
						
							| 
								
							 | 
							
									rm -f *.cf
							 |