From e7765cdb76507bb2ca6fd5f2627822f6ded2c472 Mon Sep 17 00:00:00 2001 From: SikongJueluo Date: Sat, 16 May 2026 19:53:51 +0800 Subject: [PATCH] refactor(build): consolidate CAM test commands under new make targets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - .envrc: add conda compiler flags (CFLAGS, CXXFLAGS, LDFLAGS) for zlib support - .justfile: replace inline make commands with reusable targets (test-top, test-all, test-model, test-module) - environment.yml: reformat YAML, add zlib/gtkwave, rename withbullet → with_bullet --- .envrc | 3 +++ .justfile | 22 +++++++++++++--------- environment.yml | 39 +++++++++++++++++++++------------------ 3 files changed, 37 insertions(+), 27 deletions(-) diff --git a/.envrc b/.envrc index ba43d7b..c37d7f2 100644 --- a/.envrc +++ b/.envrc @@ -39,4 +39,7 @@ else # Static Link Libraries export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH + export CFLAGS="-I$CONDA_PREFIX/include" + export CXXFLAGS="-I$CONDA_PREFIX/include" + export LDFLAGS="-L$CONDA_PREFIX/lib -Wl,-rpath,$CONDA_PREFIX/lib -lz" fi diff --git a/.justfile b/.justfile index 0b35fb2..5ab236d 100644 --- a/.justfile +++ b/.justfile @@ -46,19 +46,23 @@ remote-dry cmd: # Run all 4 integrated CAM configurations (no-noise, write-only, read-only, combined) cam-test-all: - just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=0 READ_NOISE_EN=0 COCOTB_TEST_MODULES=tests.test_cam_basic" - just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=1 WRITE_NOISE_RATE_NUM=1 WRITE_NOISE_RATE_DEN=100 READ_NOISE_EN=0 COCOTB_TEST_MODULES=tests.test_cam_basic" - just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=0 READ_NOISE_EN=1 READ_NOISE_RATE_NUM=1 READ_NOISE_RATE_DEN=100 COCOTB_TEST_MODULES=tests.test_cam_basic" - just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=1 WRITE_NOISE_RATE_NUM=1 WRITE_NOISE_RATE_DEN=100 READ_NOISE_EN=1 READ_NOISE_RATE_NUM=1 READ_NOISE_RATE_DEN=100 COCOTB_TEST_MODULES=tests.test_cam_basic" + just remote "make -C hw/sim clean && make -C hw/sim test-top NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=0 READ_NOISE_EN=0" + just remote "make -C hw/sim clean && make -C hw/sim test-top NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=1 WRITE_NOISE_RATE_NUM=1 WRITE_NOISE_RATE_DEN=100 READ_NOISE_EN=0" + just remote "make -C hw/sim clean && make -C hw/sim test-top NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=0 READ_NOISE_EN=1 READ_NOISE_RATE_NUM=1 READ_NOISE_RATE_DEN=100" + just remote "make -C hw/sim clean && make -C hw/sim test-top NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=1 WRITE_NOISE_RATE_NUM=1 WRITE_NOISE_RATE_DEN=100 READ_NOISE_EN=1 READ_NOISE_RATE_NUM=1 READ_NOISE_RATE_DEN=100" + +# Run all CAM tests in one pass (model + top + all modules) +cam-test-full: + just remote "make -C hw/sim clean && make -C hw/sim test-all" # Run Python reference model tests cam-test-py: - PYTHONPATH=hw/sim uv run pytest hw/sim/tests/test_ref_model_noise.py -q + make -C hw/sim test-model -# Run a specific CAM test module (e.g., cam-test-module MODULE=test_cam_core_banked) +# Run a specific CAM module test (e.g., cam-test-module MODULE=cam_core_banked) cam-test-module MODULE: - just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 COCOTB_TEST_MODULES=tests.{{ MODULE }}" + just remote "make -C hw/sim clean && make -C hw/sim test-module MODULE={{ MODULE }}" -# Run a single test case within a module (e.g., cam-test MODULE=test_cam_basic TESTCASE=baseline_no_noise) +# Run a single test case within a module (e.g., cam-test MODULE=cam_core_banked TESTCASE=banked_core_reads_aligned_eight_row_batch_after_one_cycle) cam-test MODULE TESTCASE: - just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 COCOTB_TEST_MODULES=tests.{{ MODULE }} COCOTB_TESTCASE={{ TESTCASE }}" + just remote "make -C hw/sim clean && make -C hw/sim test-module MODULE={{ MODULE }} COCOTB_TESTCASE={{ TESTCASE }}" diff --git a/environment.yml b/environment.yml index 4e3b2e6..69c27d4 100644 --- a/environment.yml +++ b/environment.yml @@ -1,21 +1,24 @@ name: mini-nav channels: - - pytorch - - nvidia - - aihabitat-nightly - - conda-forge + - pytorch + - nvidia + - aihabitat-nightly + - conda-forge dependencies: - - python=3.10 - - pip - - habitat-sim=0.3.3 - - habitat-baselines=0.3.320250127 - - habitat-lab=0.3.320250127 - - withbullet - - pytorch - - torchvision - - pytorch-cuda=12.1 - # Toolsets - - uv - - verilator - - just - - nodejs>=20.0.0 + - python=3.10 + - pip + - habitat-sim=0.3.3 + - habitat-baselines=0.3.320250127 + - habitat-lab=0.3.320250127 + - withbullet + - pytorch + - torchvision + - pytorch-cuda=12.1 + # Lib + - zlib + # Toolsets + - uv + - verilator + - gtkwave + - just + - nodejs>=20.0.0