Hi!
I've noticed a couple of interesting things working with the (yes, old!) EPF10K10 and was hoping that, since it's a mature / vintage device, people could share some area optimization techniques.
So far, I've noticed a couple of things:
- Hard coded state machines are much more effective. I.e. it's cheaper to do: { address, 2'd0 through 2'd3 } than doing { address, index[1:0] }
- Order of certain operations makes a difference. Re-ordering a 16-bit ALU (XOR, ADD and ADD and pass-through) in a multiplexer can save up to 16 LE's. when you start with the XOR.
I'm sure there are more?
Thanks!
-Mux
I've noticed a couple of interesting things working with the (yes, old!) EPF10K10 and was hoping that, since it's a mature / vintage device, people could share some area optimization techniques.
So far, I've noticed a couple of things:
- Hard coded state machines are much more effective. I.e. it's cheaper to do: { address, 2'd0 through 2'd3 } than doing { address, index[1:0] }
- Order of certain operations makes a difference. Re-ordering a 16-bit ALU (XOR, ADD and ADD and pass-through) in a multiplexer can save up to 16 LE's. when you start with the XOR.
I'm sure there are more?
Thanks!
-Mux