( ESNUG 210 Item 4 ) ---------------------------------------------- [2/24/95]

From: zeisu@snipe.dwe.co.kr (Jae-Soo Yoon)
Subject: Positive Edge Oriented "balance_registers" Creates Poor Designs

John,

I was trying to break down a design block into several pipelined stages using
the balance_registers command.  The block is similar to an array multiplier
to which I attached three rows of registers to make it four-stage pipelined.

My whole design basically uses a negative edge clock for the storage elements,
and thus I described the pipeline registers to work at the neg edge w/ WAIT
statements as usual.  Once I read in the design and optimized it with low
mapping effort, it, of course, created the original block with three rows of
neg edge F/Fs connected to the output port.

Then I recreated clock with my desired cycle and issued balance_registers
command.  What I got after the execution was essentially a pipelined design
with all the F/Fs having *positive* edge clocks!  Then I gave it an exact
F/F type attribute and repeated the above procedure.  (I noticed that then it
printed "preferred register" as FDN1A, which was the neg edge F/F that I
told it to use.)  It then attached an *inverter* to the global clock net and
was still treating the whole design as if using a positive clock!

I looked up every reference I could find to make balance_registers use
negative edge clock, but there are none.  Is it a bug or a feature that I'm
missing here?  I can't believe a synthesis tool creating an opposite result
from the original user's intention given by the HDL description.  Please help.

  - Jae-Soo Yoon
    Daewoo Electronics Co., Ltd.



 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)