source: HDLQ/TestBenches/TBLBMEM6.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_new;
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_bi6  WBI1 (
32                .A(z), 
33                .B(m3), 
34                .status(zone1),
35                .fault(0)
36                );
37
38MajorityVoter_bi4 MV1 (
39                         .A(m1),
40                         .B(m5), 
41                         .Zp(m4),
42                         .Z(m2),
43                         .status(zone2), 
44                         .fault1(1'b0), 
45                         .fault0(1'b0)
46                         );
47
48Wire_bi6 W4 (
49           .A(m4), 
50           .B(m8), 
51           .status(zone2),
52           .fault(0)
53           );
54           
55Wire_bi6 W5 (
56           .A(m8), 
57           .B(out), 
58           .status(zone3),
59           .fault(0)
60           );     
61
62LShapedWire_bi4 LSBI1(
63                .A(m2), 
64                .B(m3), 
65                .fault(1'b0), 
66                .status(zone2)
67                );
68               
69LShapedWire_4 LS1 (
70                .A(m7), 
71                .B(m5), 
72                .status(zone2),
73                .fault(1'b0)
74                );
75
76
77initial 
78begin     
79        x =0;     
80        y =0;
81        zone1<=2;
82        zone2<=2;
83        zone3<=3;
84        nodefake <=0;
85        nodefake3 <=1'bz;
86        nodefake2 <=1'bz;
87        #110    nodefake <=1'bz;
88end     
89always
90    begin
91        #50  x <=1;
92        #0   y <=1;
93        #200 x <=0;
94        #0   y <=1;
95        #200 x <=0;
96        #0   y <=0;
97        #200 x <=1;
98        #0   y <=0;
99        #200 x <=0;
100        #0   y<=1; 
101    end
102//period=200
103always@(zone1)
104        begin
105                case (zone1)
106                        hold : #100 zone1 <= zone1 +1;
107                        rele :  #25 zone1  <=  zone1 +1 ;
108                        relax : #50 zone1 <=  zone1 +1; 
109                        switch :  #25 zone1 <= zone1 +1 ;
110                endcase
111        end     
112                       
113always@(zone2)
114        begin
115        #25  zone2 <= zone2 +1 ;
116        end     
117                       
118always@(zone3)
119        begin
120                case (zone3)
121                        hold : #75 zone3 <=  zone3 +1;
122                        rele : #25 zone3  <=  zone3 +1;
123                        relax :  #75  zone3 <= zone3 +1; 
124                        switch :  #25  zone3 <= zone3 +1;
125                endcase
126        end     
127
128endmodule
129
130
131
132
Note: See TracBrowser for help on using the repository browser.