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.

VHDL-AMS Periodic pulse

Status
Not open for further replies.

universeee

Newbie level 6
Joined
Apr 30, 2007
Messages
13
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,376
vhdl how to define output gnd

hi...
im trying to generate a pulse generator which generates the 5th order derivative of a gaussian pulse. im using some mathematical equations in the code to generate it. however i cannot generate this pulse as a periodic one. my code just plot one pulse then stops. i have tried some methods but cant handle it.
shortly, is there anyone in this forum who can generate a periodic pulse with vhdl-ams or vhdl??? i just want to see an example or hear a new idea.
thanks for your answers...

here is the code:

---------- VHDLAMS MODEL gauss_5th_order ----------
LIBRARY ieee;
USE ieee.ALL;

---------- ENTITY DECLARATION gauss_5th_order ----------
ENTITY gauss_5th_order IS
GENERIC (
sigma : real := 4.0e-12; --changes the width of the peak
A : real := 0.2e-69 --changes the amplitude of the peak
);

PORT (
TERMINAL output, ground : electrical
);
END ENTITY gauss_5th_order;

---------- ARCHITECTURE DECLARATION arch_gauss_5th_order ----------
ARCHITECTURE arch_gauss_5th_order OF gauss_5th_order IS
CONSTANT t : real := 50.0e-12; --for negative symmetry of the pulse
QUANTITY vout ACROSS iout THROUGH output TO ground;
quantity first : real := 0.0;
quantity second : real := 0.0;
quantity third : real := 0.0;
quantity expo : real := 0.0;
BEGIN
first == (-1.0*(NOW-t)**5.0)/(SQRT(2.0*MATH_PI)*sigma**11.0);
second == (10.0*(NOW-t)**3.0)/(SQRT(2.0*MATH_PI)*sigma**9.0);
third == (15.0*(NOW-t))/(SQRT(2.0*MATH_PI)*sigma**7.0);
expo == EXP((-1.0*(NOW-t)**2.0)/(2.0*sigma**2.0));
vout == A*(first+second-third)*expo;
END ARCHITECTURE arch_gauss_5th_order;
 

bnicolle

Newbie level 3
Joined
Jul 29, 2009
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Nice (France)
Activity points
1,296
vhdl code for aperiodic pulses

Hi,

I haven't here my simulator to test your code but your error is very simple.

You define a through quantity (vout) without the across quantity (iout) definition.

Simply add for example :

vout == rout * iout ;

or don't define the iout on our quantity definition as

quantity vout across output to ground;
 

universeee

Newbie level 6
Joined
Apr 30, 2007
Messages
13
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,376
periodic pulse generator in vhdl

the method u said make the pulse that is generated by my code periodic???
it seems impossible to me actually :S
 

bnicolle

Newbie level 3
Joined
Jul 29, 2009
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Nice (France)
Activity points
1,296
vhdl pulse example

No if you want to do periodically, you need to introduction a wait for instruction.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top