Altera_Forum
Honored Contributor
16 years agoCan't achieve minimum setp and hold time error?? :((
The scenario is that I have a (1) grey code counter connected to a (2)combinational block that goes into a (3)parallel In parallel out register from there.
There are 2 inputs from the Grey counter and four other inputs that go into the combinational block that makes 6 inputs. The combinational block has 4 outputs 2 of these depend on the Grey counter (which is synchronus) the other 2 don't. The problem. The Memory Block which is (3) as defined above is enabled for only 1 clock cycle to store what is coming into it from (2). Now the problem Warning: Can't achieve minimum setup and hold requirement Clk along 3 path(s). See Report window for details. Critical Warning: Timing requirements for slow timing model timing analysis were not met. See Report window for details. Now what the report says is as follows: The timing analyzer summary Clock Hold: 'Clk' -2.000 ns 1.00 MHz ( period = 1000.000 ns ) N/A RowScanner:inst|rScan_GrCounter:inst|D0 keyStoreMem:inst2|FF3 Clk Clk 3 Where RowScanner is the block that contains (1). The keyStoreMem is (3). Also the Clock Hold: 'Clk' says that: -2.000 ns RowScanner:inst|rScan_GrCounter:inst|D0 keyStoreMem:inst2|FF3 Clk Clk 0.000 ns 6.000 ns 4.000 ns -2.000 ns RowScanner:inst|rScan_GrCounter:inst|D1 keyStoreMem:inst2|FF3 Clk Clk 0.000 ns 6.000 ns 4.000 ns -2.000 ns RowScanner:inst|rScan_GrCounter:inst|D0 keyStoreMem:inst2|FF4 Clk Clk 0.000 ns 6.000 ns 4.000 ns why is this happening with my design? I have also tried to invert the clock going into the memory so that instead of the positive edge it shall update on the negative one but still no use. Please don't be scared by this complicated message. Any help is appreciated.:)