On Apr 30, 5:42*pm, Mike Treseler <mtrese...@gmail.com> wrote:
> Jacko wrote:
> > is there anyway to specify that the combinational fn is two cycle? the
> > register retiming options seem to remove the carry bit, and replace it
> > with and implicit signal. Maybe the retiming does an eval of the state
> > machine order and realizes??
>
> I think my synthesis discussion confused the issue.
> To avoid a timing constraint, I have to treat fn()
> like a rom *and do a read cycle
> with a wait counter in a synch process.
>
> count to n, set ready bit, wait for ack bit.
>
> > It seems that because the synthesis tool does not realize the data in
> > port remains constant, because the address bus remains constant, it
> > freaks a little and routes accordingly. As a latch is totally un-
> > necessary.
>
> Synthesis does what the code says.
> I need a simulator to check the code, not synthesis.
>
> > I don't have timing quest money or time.
>
> A free simulator is good enough to verify this controller.
> The only timing requirement inside a synch design is Fmax.
> Luts and flops are cheap.
>
> * -- Mike Treseler
The point was to get the synthesis tool to do it. But no matter
anymore. I moved onto the half width (byte) data bus interface version
got 49MHz estimate (nibzC.vhd) This avoids many of the propergation
problems as each instruction takes 4 cycles. Which a over 10 MIPS will
be fine. A big endian design which loads the little end first...
The code is so simple...at 394 LEs, and highly orthogonal instruction
decode and execution. The delayed write of the high byte consumes
quite a few gates, but it does prevent the need for multiphasing the
clock as the instruction fetch interleaves the two written bytes, so
RW SRAM line has no need to be async to get the two rising edges.
cheers jacko
http://nibz.googlecode.com