Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Signal Attribute Issue

Reply
Thread Tools

Signal Attribute Issue

 
 
Calvin
Guest
Posts: n/a
 
      03-17-2005

In the following codes:

if (A'delayed(Th)'event and rd1= '1') then
if (rd1'last_event > Th) then
if (BHE_n = '0') then
ASSERT (IO1'LAST_EVENT = 0 ns) or (IO1'LAST_EVENT > Th)
REPORT "DATA HOLD1 FROM ADDRESS CHANGE TIME VIOLATION"
SEVERITY Error;
end if;
end if;

Th = 0 ns, originally. I got error report when A and IO1 changed 1-2 ns
after rd1 = '1'.

To allow more time for A and IO1 to settle, I changed Th to 5 ns.
However I still got the same error report.

What was wrong ?

Thanks,

Calvin

 
Reply With Quote
 
 
 
 
Alan Fitch
Guest
Posts: n/a
 
      03-18-2005
Calvin wrote:
> In the following codes:
>
> if (A'delayed(Th)'event and rd1= '1') then
> if (rd1'last_event > Th) then
> if (BHE_n = '0') then
> ASSERT (IO1'LAST_EVENT = 0 ns) or (IO1'LAST_EVENT > Th)
> REPORT "DATA HOLD1 FROM ADDRESS CHANGE TIME VIOLATION"
> SEVERITY Error;
> end if;
> end if;
>
> Th = 0 ns, originally. I got error report when A and IO1 changed 1-2 ns
> after rd1 = '1'.
>
> To allow more time for A and IO1 to settle, I changed Th to 5 ns.
> However I still got the same error report.
>
> What was wrong ?
>


I'm not sure I understand the problem, but your report says "data hold1
from address change time violation". So I wonder if you could use a
simpler approach

process
begin
wait on A;
wait for Th;
if rd1 = '1' and BHE_n = '0' then
assert IO1'STABLE(Th)
report "DATA HOLD1 FROM ADDRESS CHANGE TIME VIOLATION";
end process;

I've probably misunderstood what you are doing, but I think the simplest
way to check a hold time is to wait until the hold time is ended and
then look backwards using 'STABLE,

regards
Alan
--
Alan Fitch
Doulos Ltd
http://www.doulos.com
 
Reply With Quote
 
 
 
 
Milos
Guest
Posts: n/a
 
      03-21-2005
Hi,

If You want to check for HOLD violation, I think that You should use
VitalSetupHoldCheck procedure (part of the IEEE.VITAL_timing package).
For more info on this checkout http://vhdl.org/fmf and see how it is
done.

Best regards,
Milos

Alan Fitch wrote:
> Calvin wrote:
> > In the following codes:
> >
> > if (A'delayed(Th)'event and rd1= '1') then
> > if (rd1'last_event > Th) then
> > if (BHE_n = '0') then
> > ASSERT (IO1'LAST_EVENT = 0 ns) or (IO1'LAST_EVENT > Th)
> > REPORT "DATA HOLD1 FROM ADDRESS CHANGE TIME VIOLATION"
> > SEVERITY Error;
> > end if;
> > end if;
> >
> > Th = 0 ns, originally. I got error report when A and IO1 changed

1-2 ns
> > after rd1 = '1'.
> >
> > To allow more time for A and IO1 to settle, I changed Th to 5 ns.
> > However I still got the same error report.
> >
> > What was wrong ?
> >

>
> I'm not sure I understand the problem, but your report says "data

hold1
> from address change time violation". So I wonder if you could use a
> simpler approach
>
> process
> begin
> wait on A;
> wait for Th;
> if rd1 = '1' and BHE_n = '0' then
> assert IO1'STABLE(Th)
> report "DATA HOLD1 FROM ADDRESS CHANGE TIME VIOLATION";
> end process;
>
> I've probably misunderstood what you are doing, but I think the

simplest
> way to check a hold time is to wait until the hold time is ended and
> then look backwards using 'STABLE,
>
> regards
> Alan
> --
> Alan Fitch
> Doulos Ltd
> http://www.doulos.com


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
"Target of signal assignment is not a signal" Nicolas Moreau VHDL 9 07-25-2007 04:21 PM
Re: How to make an internal signal embedded deep in hierarchy to a gloal output signal Weng Tianxiang VHDL 2 01-30-2007 12:58 PM
Aside from delta cycles and/or resolution functions, how can the effective value of a signal differ from a driving signal of its? Colin Paul Gloster VHDL 0 01-11-2007 01:31 PM
threading.Thread vs. signal.signal Jack Orenstein Python 0 09-17-2005 11:24 PM
Async-signal safe functions in signal handlers (unix) Michael Pronath Python 1 01-03-2005 01:10 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57