[SOLVED] change width pulse when simulate problem

Status
Not open for further replies.

tiennghe27

Newbie level 4
Joined
Mar 5, 2017
Messages
7
Helped
2
Reputation
4
Reaction score
2
Trophy points
3
Activity points
59
hi everyone, can you help me? i write this code, a pulse with period 300ms. then it delay 200ms. but when i measure, width pulse change, i got 0.001ms and 0.0001ns



Code Verilog - [expand]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// VerilogA for baitap, ngovaox1, veriloga
`include "constants.vams"
`include "disciplines.vams"
 
module ngovaox1(plus2,minus);
output plus2, minus;
electrical plus2, minus;
 
parameter real period =300m;
parameter real vdd=1;
parameter real d=1u;
 
 
real value2;
analog
begin
/// tao cho data 2
@(timer (0, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (0.000000001, 8*period))
begin
value2=-1;
$discontinuity (1);
end
@(timer (0*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (1*period, 8*period))
begin
value2=1;
$discontinuity (1);
end
@(timer (1*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (2*period, 8*period))
begin
value2=1;
$discontinuity (1);
end
@(timer (2*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (3*period, 8*period))
begin
value2=-1;
$discontinuity (1);
end
@(timer (3*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (4*period, 8*period))
begin
value2=1;
$discontinuity (1);
end
@(timer (4*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (5*period, 8*period))
begin
value2=-1;
$discontinuity (1);
end
@(timer (5*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (6*period, 8*period))
begin
value2=-1;
$discontinuity (1);
end
@(timer (6*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
@(timer (7*period, 8*period))
begin
value2=1;
$discontinuity (1);
end
@(timer (7*period+d, 8*period))
begin
value2=0;
$discontinuity (1);
end
 
V(plus2,minus) <+ transition (value2, 0, 0.000001n, 0.000001n);
end
endmodule



this is image
 
Last edited by a moderator:

i write this code,
a pulse with period 300ms.
then it delay 200ms.
What pulse do you want to generate ?

You specify neither duty nor pulse widthes for high and low.

Describe correctly with using correct terminologies.
 

i simulate a pulse, but it is lost some pulse when simulate. can you tell me why?
 

i simulate a pulse,
but it is lost some pulse when simulate.
can you tell me why?
Do you think there is anyone who can understand your situation with your poor sentences ?

Simply your Verilog-A code is not proper or wrong.
However we can not know details, since we don't know what waveform you want to generate at all.

Again describe correctly with using correct terminologies.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…