![]() |
|
|
|||||||
![]() |
VHDL - Delta delay problem between multiple ports |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
I have Module1 with an output port ClkA.
Module1 is instantiated in Module2 that has the two output ports ClkA and ClkB. mapping Module1.ClkA to either module2.ClkA or Module2.ClkB without delta delay is easy. But, is there any VHDL constructs, such that: Module1.ClkA can be mapped to both Module2.ClkA and Module2.ClkB without any delta delay difference between these 3 ? Thanks in advance Trygve Trygve Odegaard |
|
|
|
|
#2 |
|
Posts: n/a
|
On 28 Mai, 16:21, Trygve Odegaard <tro...@start.no> wrote:
> I have Module1 with an output port ClkA. > Module1 is instantiated in Module2 that has the two output ports ClkA > and ClkB. > But, is there any VHDL constructs, such that: Module1.ClkA can be > mapped to both Module2.ClkA and Module2.ClkB without any > > delta delay difference between these 3 ? Question: Why do you bother about delta delays? Use "Y <= X after 1 ns" for clocked signals and you have no problem with delta delays. There is no construct for signal assignment, that is free of delta delay, only variables are updated in the same tick, but I would'nt use variables for clocks, as i find it no good idea to have a rising edge of clock within one delta delay (would'nt suprise me, if the tools wouldn't support this propperly). bye Thomas Thomas Stanka |
|
|
|
#3 |
|
Posts: n/a
|
On 30 Mai, 06:53, Thomas Stanka <usenet_nospam_va...@stanka-web.de>
wrote: > On 28 Mai, 16:21, Trygve Odegaard <tro...@start.no> wrote: > > > I have Module1 with an output port ClkA. > > Module1 is instantiated in Module2 that has the two output ports ClkA > > and ClkB. > > But, is there any VHDL constructs, such that: *Module1.ClkA can be > > mapped to both Module2.ClkA and Module2.ClkB without any > > > delta delay difference *between these 3 ? > > Question: Why do you bother about delta delays? > Use "Y <= X after 1 ns" for clocked signals and you have no problem > with delta delays. > > There is no construct for signal assignment, that is free of delta > delay, only variables are updated in the same tick, but I would'nt use > variables for clocks, as i find it no good idea to have a rising edge > of clock within one delta delay (would'nt suprise me, if the tools > wouldn't support this propperly). > > bye Thomas My Module1 output data ( delta synchronously with clkA) in addition to clkA. At he output of module2, I still want both to be delta-synchronous, which is no problem. I have already experienced how hard it is to debug HW-failures when the simulation-OK is due to a architechually deeply buried delta offset. The simple case with clock & data only, gives me no problem. The problem arise when I want to take a clock, and split into two copies at the next-higher level, still with all three copies at the same delta. Regards Trygve Trygve Odegaard |
|
|
|
#4 |
|
Posts: n/a
|
On 28 May, 15:21, Trygve Odegaard <tro...@start.no> wrote:
> I have Module1 with an output port ClkA. > Module1 is instantiated in Module2 that has the two output ports ClkA > and ClkB. > > mapping Module1.ClkA to either module2.ClkA or Module2.ClkB without > delta delay is easy. > > But, is there any VHDL constructs, such that: Module1.ClkA can be > mapped to both Module2.ClkA and Module2.ClkB without any > > delta delay difference between these 3 ? > > Thanks in advance > Trygve There is no way to avoid adding delta delays with signal assignments. SingalB <= SignalA will always add a 1 delta delay. Its unavoidable. I still dont understand why you are so worried. Delta delays are infinitely small, so have no meaning in reality. If you are having problems with variables updating, then I suggest that you are triggering a process in the wrong way. To align deltas in processes, you can add 1 delta wait states: wait for 0 ns; will hold a process for 1 delta. Tricky |
|
|
|
#5 |
|
Posts: n/a
|
Trygve Odegaard wrote:
> The simple case with clock & data only, gives me no problem. The > problem arise when I want to take a clock, and split into two copies > at the next-higher level, still with all three copies at the same > delta. The system clock should never appear on the right side of an assignment, or on a port output. -- Mike Treseler Mike Treseler |
|
|
|
#6 |
|
Posts: n/a
|
You can put a delta on the data to match those suffered by splitting
the clocks. Use local signals in the module2 architecture; module2_ClkA <= module1_ClkA; module2_ClkB <= module1_ClkA; module2_data <= module1_data; where module1_* are signals connected to the module1 instantiation port map and module2_* are the module2 port names. Obviously this only works if module2_data is an 'out' and not 'inout'. Darrin Dal |
|
|
|
#7 |
|
Posts: n/a
|
On 30 Mai, 19:08, Mike Treseler <mike_trese...@comcast.net> wrote:
> The system clock should never appear > on the right side of an assignment, > or on a port output. Unless you intend to do so with reason (and knowing what to do). I had several designs where it is necessary to have the clock on right hand side of assignments or provide internal clocksignals at an output. bye Thomas Thomas Stanka |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Ports & Bios Problem | gullab2 | General Help Related Topics | 0 | 09-19-2006 01:14 PM |
| Re: USB issue ... some USB 2 ports working only in USB 1 mode | hungsolo2005@yahoo.com | A+ Certification | 0 | 06-14-2006 08:26 PM |
| Re: storage problem | SilverSurfer | A+ Certification | 6 | 06-09-2005 07:58 PM |
| Re: Virus Problem ** Help!** | David BlandIII | A+ Certification | 1 | 03-02-2004 06:00 PM |
| Re: Serious Computer Problem | hootnholler | A+ Certification | 1 | 11-24-2003 12:18 PM |