source: HDLQ/TestBenches/TBLBMEM4.v @ 1

Revision 1, 1.8 KB checked in by ttvmrc00, 13 years ago (diff)

upload iniziale

  • Property svn:executable set to *
Line 
1//`timescale 10ns/100ps
2module test_benchLBMEM_4;
3
4wire m8,m1,m2,m3,m4,m5,m6,m7,z;
5reg x,y,nodefake, nodefake2, nodefake3;
6reg [1:0] zone1,zone2,zone3;
7parameter [1:0]
8        switch=1,
9        hold=2,
10        rele=3,
11        relax=0;
12assign m8= nodefake;   
13assign z= nodefake2;
14assign out= nodefake2;
15assign m3 = nodefake2;
16assign m4 = nodefake2;
17assign m1 = nodefake2;
18
19Wire_4 W1 (
20           .A(x), 
21           .B(m1), 
22           .status(zone1)
23           );
24
25Wire_4 W2 (
26            .A(y), 
27            .B(m7), 
28            .status(zone1)
29          );
30
31Wire_bi5  WBI1 (
32                .A(z), 
33                .B(m3), 
34                .status(zone1)
35                );
36
37MajorityVoter_bi4 MV1 (
38                         .A(m1),
39                         .B(m5), 
40                         .Zp(m4),
41                         .Z(m2),
42                         .status(zone2), 
43                         .fault1(1'b0), 
44                         .fault0(1'b0)
45                         );
46
47Wire_bi5 W4 (
48           .A(m4), 
49           .B(m8), 
50           .status(zone2)
51           );
52           
53Wire_bi5 W5 (
54           .A(m8), 
55           .B(out), 
56           .status(zone3)
57           );     
58
59LShapedWire_bi4 LSBI1(
60                .A(m2), 
61                .B(m3), 
62                .fault(1'b0), 
63                .status(zone2)
64                );
65               
66LShapedWire_4 LS1 (
67                .A(m7), 
68                .B(m5), 
69                .status(zone2),
70                .fault(1'b0)
71                );
72
73
74initial 
75begin     
76        x =0;     
77        y =0;
78        zone1<=2;
79        zone2<=2;
80        zone3<=3;
81        nodefake <=0;
82        nodefake3 <=1'bz;
83        nodefake2 <=1'bz;
84        #110    nodefake <=1'bz;
85end     
86always
87    begin
88        #50  x <=1;
89        #0   y <=1;
90        #200 x <=0;
91        #0   y <=1;
92        #200 x <=0;
93        #0   y <=0;
94        #200 x <=1;
95        #0   y <=0;
96        #200 x <=0;
97        #0   y<=1; 
98    end
99//period=200
100always@(zone1)
101        begin
102                case (zone1)
103                        hold : #100 zone1 <= zone1 +1;
104                        rele :  #25 zone1  <=  zone1 +1 ;
105                        relax : #50 zone1 <=  zone1 +1; 
106                        switch :  #25 zone1 <= zone1 +1 ;
107                endcase
108        end     
109                       
110always@(zone2)
111        begin
112        #25  zone2 <= zone2 +1 ;
113        end     
114                       
115always@(zone3)
116        begin
117                case (zone3)
118                        hold : #75 zone3 <=  zone3 +1;
119                        rele : #25 zone3  <=  zone3 +1;
120                        relax :  #75  zone3 <= zone3 +1; 
121                        switch :  #25  zone3 <= zone3 +1;
122                endcase
123        end     
124
125endmodule
126
127
128
129
Note: See TracBrowser for help on using the repository browser.