#### universeee

##### Newbie level 6

**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;