Altera_Forum
Honored Contributor
13 years agoVerilog Synthesis Q
Am bumping into a synthesis problem inside of an always construct. Simplified code is
reg true_or_false[0:9999]; reg a; always (negedge clk) begin if (a <5000) true_or_false[a] <= 1 else if (a < 10000) true_or_false[a+5000] <= 1 end The error I get is "Cannot convert all sets of registers into RAM megafunctions when creating nodes. The resulting number of registers remaining in design exceeds the number of registers in device....." If I remove the if else construct, no allocations (register/memory/etc) are > 30%. I'm quite sure I'm violating an HDL paradigm. Could use a little guidance on why and thoughts on how I might implement it correctly. THNX, ME