Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] How To Delay 100ms From One Output To Other Output In Vhdl

Status
Not open for further replies.

sanju_

Full Member level 3
Joined
Mar 31, 2011
Messages
150
Helped
35
Reputation
70
Reaction score
33
Trophy points
1,318
Location
BANGALORE
Activity points
1,997
Hi.
I have four output ports (A,B,C,D).
i am sending serial data as output four outputs at a time.
now i want to send second serial data to same output ports after 100ms of first output...
is their anyway i can do using vhdl apart form WAIT statement...


thanks
 

the wait statement is only appropriate for simulation.

Otherwise stick the data into a memory and use a counter to wait for 100ms.

100ms is a very long time to wait, you may need a BIG buffer to cope with all the backed up data.
 
  • Like
Reactions: sanju_

    sanju_

    Points: 2
    Helpful Answer Positive Rating
yeah thanks thought of using counter it self...

didnt get what exactly "BIG buffer to cope with all the backed up data." means
 

You wont need it if there is no more data coming from the serial port.
 
  • Like
Reactions: sanju_

    sanju_

    Points: 2
    Helpful Answer Positive Rating
one more thing i am sending serial data of different type like i did serial shift as output next output is different
from first serial data that i need to delay it for 100ms

in between this two output how to assign counter
as i done shift register output as first output may be same output at second but delay need is 100 ms
any sample code or line for delay part??






IF (count2 = 2 AND temp = '1') THEN
count1 <= count1 + 1 ;
TEMP1 <= TEMP1(8 downto 0) & '1' ;
TEMP2 <= TEMP2(10 downto 0) & '1' ;
TEMP3 <= TEMP3(10 downto 0) & '1' ;
TEMP4 <= TEMP4(19 downto 0) & '1' ;
count2 <= 1 ;
END IF; --------------> shift register part



IF (count1 < 20) THEN
A <= TEMP4(20) ;
IF (count1 < 11) THEN
B <= TEMP2(11) ;
C <= TEMP3(11) ;
IF (count1 < 9) THEN
D <= TEMP1(9) ;
ELSe
D <= '1' ;
END IF;

ELSe
C <= '1' ;
B <= '1' ;
END IF;
end if ; -------------------> output part


output part repeats again how to introduce delay between them
 
Last edited:

thanks TrickyDicky...
i used counter for delay and used "case" statements at the output side its working fine now.
 

thanks TrickyDicky...
i used counter for delay and used "case" statements at the output side its working fine now.

Hi,
may i know how have you done the delay and the case statement?
i am facing the same problem like u had before.
can u send me the coding?
Thanks for your big big help.
:wink:
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top