seblovett / VLSI

VLSI design project
0 stars 1 forks source link

contol.sv Optimisation #77

Closed ashleyjr closed 10 years ago

ashleyjr commented 10 years ago
seblovett commented 10 years ago

The L shaped synthesis could potentially be done more easily with L-Edit. worth a play around with this week.

ashleyjr commented 10 years ago

Noted, on my todo list for this evening

seblovett commented 10 years ago

Just had a look at the nWait stuff. Fetch cycles have it. Push / Pop does too. Interrupts do not.

For Pop, there is a line (number 687) if(nWait) RegWe = 1; Is this needed? It isn't for any others. All or nothing I say.

ashleyjr commented 10 years ago

I think POP nWait == 1 keeps subState in Cycle3 but if RegWe = 1 it just keep overwritting each time. The solution may be to do the write back in a non-nWait cycle

seblovett commented 10 years ago

But it will write every time, but it will only matter about the last. I guess it means there's never invalid data in there though

ashleyjr commented 10 years ago

There's a complete loop so each clock edge in cycle3 will cause an INC and writeback to the SP, etc

seblovett commented 10 years ago

Ah that makes sense. No worries then.

seblovett commented 10 years ago

There is also something with 0 fanout. Need to remove this possibly.

seblovett commented 10 years ago

Not sure there is much point in doing anything to control. It fits nicely in the pad ring. Can do a bit of postprocessing (moving the I/O to match datapath) but this isn't done in code, and wont really save much space.

seblovett commented 10 years ago

Unless anything drastic can be done, it's not good use of time to do this due to the post-processing efforts involved (a lot of lonely vias occur with the L-Edit layout).