You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lexer bug: Type-suffixed literals like 3u32 were split into two tokens (3 + u32), corrupting the AST and producing invalid Verilog expressions like (u32 << bit_pos).
FPGA synthesis: Top-level wrapper was a bare heartbeat counter — no spec-generated modules were instantiated. Yosys synthesis only read the wrapper file, not the sub-modules.
Solution
Lexer fix: After parsing a number literal, consume known type suffixes (u8, u16, u32, u64, usize, i8..i64, f16, f32, f64).
Wrapper update: Top-level zerodsp_top now instantiates ZeroDSP_UART, SPI_Master, and ZeroDSP_TopLevel with LED[1..3] showing ready status.
Yosys script fix: Reads all working Verilog modules (uart, spi, top_level, wrapper) instead of only the wrapper.
Problem
Lexer bug: Type-suffixed literals like
3u32were split into two tokens (3+u32), corrupting the AST and producing invalid Verilog expressions like(u32 << bit_pos).FPGA synthesis: Top-level wrapper was a bare heartbeat counter — no spec-generated modules were instantiated. Yosys synthesis only read the wrapper file, not the sub-modules.
Solution
Lexer fix: After parsing a number literal, consume known type suffixes (
u8,u16,u32,u64,usize,i8..i64,f16,f32,f64).Wrapper update: Top-level
zerodsp_topnow instantiatesZeroDSP_UART,SPI_Master, andZeroDSP_TopLevelwith LED[1..3] showing ready status.Yosys script fix: Reads all working Verilog modules (uart, spi, top_level, wrapper) instead of only the wrapper.
Verification
t27c fpga-build --smokepasses (5 modules + wrapper generated)t27c fpga-build --docker falsepasses (full synthesis)t27c validate-phi-identitypasses (L5)Remaining (deferred)
mac.vandbridge.vhave deeper codegen issues (assignment targets, reference operators) — tracked separatelyCloses #141