├── .github ├── Dockerfile └── workflows │ └── tests.yml ├── .gitignore ├── LICENSE ├── README.md ├── tdd ├── run.py ├── src │ └── string_pkg.vhd ├── test │ └── tb_to_string.vhd └── test_tdd.py └── tutorial ├── common └── src │ ├── incrementer.vhd │ └── incrementer_pkg.vhd ├── exercise_01 ├── instructions.md ├── original │ ├── run.py │ ├── src │ │ └── counter.vhd │ └── test │ │ └── tb_counter.vhd └── solution │ ├── run.py │ ├── src │ └── counter.vhd │ └── test │ └── tb_counter.vhd ├── exercise_02 ├── instructions.md ├── original │ ├── run.py │ ├── src │ │ └── counter.vhd │ └── test │ │ ├── tb_counter.vhd │ │ └── tb_counter_with_test_cases.vhd └── solution │ ├── run.py │ ├── src │ └── counter.vhd │ └── test │ ├── tb_counter.vhd │ └── tb_counter_with_test_cases.vhd ├── exercise_03 ├── instructions.md ├── original │ ├── run.py │ └── test │ │ ├── tb_counter.vhd │ │ └── tb_counter_with_test_cases.vhd └── solution │ ├── run.py │ └── test │ ├── tb_counter.vhd │ └── tb_counter_with_test_cases.vhd ├── exercise_04 ├── instructions.md ├── original │ ├── run.py │ └── test │ │ ├── tb_log_and_check.vhd │ │ └── verification_component.vhd └── solution │ ├── run.py │ └── test │ ├── tb_log_and_check.vhd │ └── verification_component.vhd ├── exercise_05 ├── instructions.md ├── original │ ├── run.py │ └── test │ │ ├── expected_data.dat │ │ ├── input_data.csv │ │ └── tb_file_based_testing.vhd └── solution │ ├── run.py │ └── test │ ├── expected_data.dat │ ├── input_data.csv │ └── tb_file_based_testing.vhd ├── exercise_06 ├── instructions.md ├── original │ ├── run.py │ └── test │ │ └── tb_queue.vhd └── solution │ ├── run.py │ └── test │ └── tb_queue.vhd ├── exercise_07 ├── instructions.md ├── original │ ├── run.py │ └── test │ │ └── tb_bfm.vhd └── solution │ ├── run.py │ └── test │ └── tb_bfm.vhd └── test_tutorial.py /.github/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ghdl/vunit:llvm 2 | 3 | RUN python3 -m pip install pytest --progress-bar off 4 | -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | vunit_out/ 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/README.md -------------------------------------------------------------------------------- /tdd/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tdd/run.py -------------------------------------------------------------------------------- /tdd/src/string_pkg.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tdd/src/string_pkg.vhd -------------------------------------------------------------------------------- /tdd/test/tb_to_string.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tdd/test/tb_to_string.vhd -------------------------------------------------------------------------------- /tdd/test_tdd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tdd/test_tdd.py -------------------------------------------------------------------------------- /tutorial/common/src/incrementer.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/common/src/incrementer.vhd -------------------------------------------------------------------------------- /tutorial/common/src/incrementer_pkg.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/common/src/incrementer_pkg.vhd -------------------------------------------------------------------------------- /tutorial/exercise_01/instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_01/instructions.md -------------------------------------------------------------------------------- /tutorial/exercise_01/original/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_01/original/run.py -------------------------------------------------------------------------------- /tutorial/exercise_01/original/src/counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_01/original/src/counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_01/original/test/tb_counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_01/original/test/tb_counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_01/solution/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_01/solution/run.py -------------------------------------------------------------------------------- /tutorial/exercise_01/solution/src/counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_01/solution/src/counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_01/solution/test/tb_counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_01/solution/test/tb_counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_02/instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/instructions.md -------------------------------------------------------------------------------- /tutorial/exercise_02/original/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/original/run.py -------------------------------------------------------------------------------- /tutorial/exercise_02/original/src/counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/original/src/counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_02/original/test/tb_counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/original/test/tb_counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_02/original/test/tb_counter_with_test_cases.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/original/test/tb_counter_with_test_cases.vhd -------------------------------------------------------------------------------- /tutorial/exercise_02/solution/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/solution/run.py -------------------------------------------------------------------------------- /tutorial/exercise_02/solution/src/counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/solution/src/counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_02/solution/test/tb_counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/solution/test/tb_counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_02/solution/test/tb_counter_with_test_cases.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_02/solution/test/tb_counter_with_test_cases.vhd -------------------------------------------------------------------------------- /tutorial/exercise_03/instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_03/instructions.md -------------------------------------------------------------------------------- /tutorial/exercise_03/original/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_03/original/run.py -------------------------------------------------------------------------------- /tutorial/exercise_03/original/test/tb_counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_03/original/test/tb_counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_03/original/test/tb_counter_with_test_cases.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_03/original/test/tb_counter_with_test_cases.vhd -------------------------------------------------------------------------------- /tutorial/exercise_03/solution/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_03/solution/run.py -------------------------------------------------------------------------------- /tutorial/exercise_03/solution/test/tb_counter.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_03/solution/test/tb_counter.vhd -------------------------------------------------------------------------------- /tutorial/exercise_03/solution/test/tb_counter_with_test_cases.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_03/solution/test/tb_counter_with_test_cases.vhd -------------------------------------------------------------------------------- /tutorial/exercise_04/instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_04/instructions.md -------------------------------------------------------------------------------- /tutorial/exercise_04/original/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_04/original/run.py -------------------------------------------------------------------------------- /tutorial/exercise_04/original/test/tb_log_and_check.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_04/original/test/tb_log_and_check.vhd -------------------------------------------------------------------------------- /tutorial/exercise_04/original/test/verification_component.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_04/original/test/verification_component.vhd -------------------------------------------------------------------------------- /tutorial/exercise_04/solution/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_04/solution/run.py -------------------------------------------------------------------------------- /tutorial/exercise_04/solution/test/tb_log_and_check.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_04/solution/test/tb_log_and_check.vhd -------------------------------------------------------------------------------- /tutorial/exercise_04/solution/test/verification_component.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_04/solution/test/verification_component.vhd -------------------------------------------------------------------------------- /tutorial/exercise_05/instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/instructions.md -------------------------------------------------------------------------------- /tutorial/exercise_05/original/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/original/run.py -------------------------------------------------------------------------------- /tutorial/exercise_05/original/test/expected_data.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/original/test/expected_data.dat -------------------------------------------------------------------------------- /tutorial/exercise_05/original/test/input_data.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/original/test/input_data.csv -------------------------------------------------------------------------------- /tutorial/exercise_05/original/test/tb_file_based_testing.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/original/test/tb_file_based_testing.vhd -------------------------------------------------------------------------------- /tutorial/exercise_05/solution/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/solution/run.py -------------------------------------------------------------------------------- /tutorial/exercise_05/solution/test/expected_data.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/solution/test/expected_data.dat -------------------------------------------------------------------------------- /tutorial/exercise_05/solution/test/input_data.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/solution/test/input_data.csv -------------------------------------------------------------------------------- /tutorial/exercise_05/solution/test/tb_file_based_testing.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_05/solution/test/tb_file_based_testing.vhd -------------------------------------------------------------------------------- /tutorial/exercise_06/instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_06/instructions.md -------------------------------------------------------------------------------- /tutorial/exercise_06/original/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_06/original/run.py -------------------------------------------------------------------------------- /tutorial/exercise_06/original/test/tb_queue.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_06/original/test/tb_queue.vhd -------------------------------------------------------------------------------- /tutorial/exercise_06/solution/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_06/solution/run.py -------------------------------------------------------------------------------- /tutorial/exercise_06/solution/test/tb_queue.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_06/solution/test/tb_queue.vhd -------------------------------------------------------------------------------- /tutorial/exercise_07/instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_07/instructions.md -------------------------------------------------------------------------------- /tutorial/exercise_07/original/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_07/original/run.py -------------------------------------------------------------------------------- /tutorial/exercise_07/original/test/tb_bfm.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_07/original/test/tb_bfm.vhd -------------------------------------------------------------------------------- /tutorial/exercise_07/solution/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_07/solution/run.py -------------------------------------------------------------------------------- /tutorial/exercise_07/solution/test/tb_bfm.vhd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/exercise_07/solution/test/tb_bfm.vhd -------------------------------------------------------------------------------- /tutorial/test_tutorial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VUnit/tdd-intro/HEAD/tutorial/test_tutorial.py --------------------------------------------------------------------------------