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