m-labs / migen

A Python toolbox for building complex digital hardware
https://m-labs.hk/migen
Other
1.23k stars 210 forks source link

fhdl/tracer: handle `STORE_DEREF` for local, cell, and free variables #289

Closed fsagbuya closed 4 months ago

fsagbuya commented 4 months ago

Description

Removed version-specific handling of the STORE_DEREF opcode and implemented comprehensive support for local, cell, and free variables.

Closes #288

Tested in python 3.12 and 3.11.

Test Results:

python3.12-misoc> ok
python3.12-misoc> test_latency (misoc.test.test_duc.TestPhasedDUC.test_latency) ... CosSin LUT 10 bit deep, 36 bit wide
python3.12-misoc> CosSin LUT 10 bit deep, 36 bit wide
python3.12-misoc> ok
python3.12-misoc> test_neg (misoc.test.test_duc.TestPhasedDUC.test_neg) ... CosSin LUT 10 bit deep, 36 bit wide
python3.12-misoc> CosSin LUT 10 bit deep, 36 bit wide
python3.12-misoc> ok
python3.12-misoc> test_quad (misoc.test.test_duc.TestPhasedDUC.test_quad) ... CosSin LUT 10 bit deep, 36 bit wide
python3.12-misoc> CosSin LUT 10 bit deep, 36 bit wide
python3.12-misoc> ok
python3.12-misoc> test_init (misoc.test.test_cic.TestCIC.test_init) ... ok
python3.12-misoc> test_seq (misoc.test.test_cic.TestCIC.test_seq) ... ok
python3.12-misoc> test_i2c (misoc.test.test_i2c.TestI2C.test_i2c) ... ok
python3.12-misoc> test_trxpaths_config (misoc.test.test_pcs_1000basex.TestPCS.test_trxpaths_config) ... ok
python3.12-misoc> test_trxpaths_data (misoc.test.test_pcs_1000basex.TestPCS.test_trxpaths_data) ... ok
python3.12-misoc> ----------------------------------------------------------------------
python3.12-misoc> Ran 34 tests in 9.422s
python3.12-misoc> OK
python3.12-misoc> Finished executing setuptoolsCheckPhase