source: vis_dev/vis-2.1/examples/exampleS/exampleS.mv @ 12

Last change on this file since 12 was 11, checked in by cecile, 13 years ago

Add vis

File size: 19.3 KB
Line 
1# vl2mv exampleS.v
2# version: 0.2
3# date:    11:15:09 12/11/95 (PST)
4.model resource
5# I/O ports
6
7.mv r_st 2 I B
8.mv r_m_st 4 R G U D
9.mv m_st 4 R G U D
10.mv r_r_st 2 I B
11.subckt a0 a0 req=req  grant=grant  use=use  release=release 
12# assign req  = (m_st  == R )
13.mv _n2 4 R G U D
14.names _n2
15R
16# m_st  == 0
17.names m_st _n2 _n1
18.def 0
19- =m_st 1
20.names _n1 req$raw_n0
21- =_n1
22# assign use  = (m_st  == U )
23.mv _n5 4 R G U D
24.names _n5
25U
26# m_st  == 2
27.names m_st _n5 _n4
28.def 0
29- =m_st 1
30.names _n4 use$raw_n3
31- =_n4
32# assign release  = (m_st  == D )
33.mv _n8 4 R G U D
34.names _n8
35D
36# m_st  == 3
37.names m_st _n8 _n7
38.def 0
39- =m_st 1
40.names _n7 release$raw_n6
41- =_n7
42# m_st  = 0
43.mv m_st$raw_n9 4 R G U D
44.names m_st$raw_n9
45R
46# non-blocking assignments for initial
47# assign r_m_st  = $NDset ( 2,3 )
48.names r_m_st
49U
50D
51.mv _ne 4 R G U D
52.names _ne
53R
54.names m_st _ne _nd
55.def 0
56- =m_st 1
57.names _nd  _nc
581 1
590 0
60.names grant _nf
61- =grant
62# m_st  = 1
63.mv m_st$grant_n10$true 4 R G U D
64.names m_st$grant_n10$true
65G
66# if/else (grant )
67.mv m_st$grant$raw_n13 4 R G U D
68.names m_st$grant_n10$true m_st grant m_st$grant$raw_n13
69- - 0 =m_st
70- - 1 =m_st$grant_n10$true
71.mv _n16 4 R G U D
72.names _n16
73G
74.names m_st _n16 _n15
75.def 0
76- =m_st 1
77.names _n15  _n14
781 1
790 0
80# m_st  = 2
81.mv m_st$_n14_n17$true 4 R G U D
82.names m_st$_n14_n17$true
83U
84.mv _n1a 4 R G U D
85.names _n1a
86U
87.names m_st _n1a _n19
88.def 0
89- =m_st 1
90.names _n19  _n18
911 1
920 0
93# m_st  = r_m_st
94.mv m_st$_n18_n1b$true 4 R G U D
95.names r_m_st m_st$_n18_n1b$true
96- =r_m_st
97.mv _n1e 4 R G U D
98.names _n1e
99D
100.names m_st _n1e _n1d
101.def 0
102- =m_st 1
103.names _n1d  _n1c
1041 1
1050 0
106# m_st  = 0
107.mv m_st$_n1c_n1f$true 4 R G U D
108.names m_st$_n1c_n1f$true
109R
110# case (m_st )
111.mv m_st$_n1c$raw_n22 4 R G U D
112.names m_st$_n1c_n1f$true m_st _n1c m_st$_n1c$raw_n22
113- - 0 =m_st
114- - 1 =m_st$_n1c_n1f$true
115.mv m_st$_n18$raw_n23 4 R G U D
116.names m_st$_n18_n1b$true m_st$_n1c$raw_n22 _n18 m_st$_n18$raw_n23
117- - 0 =m_st$_n1c$raw_n22
118- - 1 =m_st$_n18_n1b$true
119.mv m_st$_n14$raw_n27 4 R G U D
120.names m_st$_n14_n17$true m_st$_n18$raw_n23 _n14 m_st$_n14$raw_n27
121- - 0 =m_st$_n18$raw_n23
122- - 1 =m_st$_n14_n17$true
123.mv m_st$_nc$raw_n2b 4 R G U D
124.names m_st$grant$raw_n13 m_st$_n14$raw_n27 _nc m_st$_nc$raw_n2b
125- - 0 =m_st$_n14$raw_n27
126- - 1 =m_st$grant$raw_n13
127# r_st  = 0
128.mv r_st$raw_n2f 2 I B
129.names r_st$raw_n2f
130I
131# non-blocking assignments for initial
132# assign grant  = (r_st  == B )
133.mv _n32 2 I B
134.names _n32
135B
136# r_st  == 1
137.names r_st _n32 _n31
138.def 0
139- =r_st 1
140.names _n31 grant$raw_n30
141- =_n31
142# assign r_r_st  = $NDset ( 1,0 )
143.names r_r_st
144B
145I
146.mv _n37 2 I B
147.names _n37
148I
149.names r_st _n37 _n36
150.def 0
151- =r_st 1
152.names _n36  _n35
1531 1
1540 0
155.names req _n38
156- =req
157# r_st  = r_r_st
158.mv r_st$req_n39$true 2 I B
159.names r_r_st r_st$req_n39$true
160- =r_r_st
161# r_st  = 0
162.mv r_st$req_n3a$false 2 I B
163.names r_st$req_n3a$false
164I
165# if/else (req )
166.mv r_st$req$raw_n3c 2 I B
167.names r_st$req_n39$true r_st$req_n3a$false req r_st$req$raw_n3c
168- - 0 =r_st$req_n3a$false
169- - 1 =r_st$req_n39$true
170.mv _n41 2 I B
171.names _n41
172B
173.names r_st _n41 _n40
174.def 0
175- =r_st 1
176.names _n40  _n3f
1771 1
1780 0
179.names release _n42
180- =release
181# r_st  = 0
182.mv r_st$release_n43$true 2 I B
183.names r_st$release_n43$true
184I
185# if/else (release )
186.mv r_st$release$raw_n46 2 I B
187.names r_st$release_n43$true r_st release r_st$release$raw_n46
188- - 0 =r_st
189- - 1 =r_st$release_n43$true
190# case (r_st )
191.mv r_st$_n3f$raw_n49 2 I B
192.names r_st$release$raw_n46 r_st _n3f r_st$_n3f$raw_n49
193- - 0 =r_st
194- - 1 =r_st$release$raw_n46
195.mv r_st$_n35$raw_n4a 2 I B
196.names r_st$req$raw_n3c r_st$_n3f$raw_n49 _n35 r_st$_n35$raw_n4a
197- - 0 =r_st$_n3f$raw_n49
198- - 1 =r_st$req$raw_n3c
199# conflict arbitrators
200.names _n35 _n38 _n3f _n42 _n4e
201.def 0
202 1 1 - - 1
203 1 0 - - 1
204 0 - 1 1 1
205.mv _n4f 2 I B
206.names _n4e r_st$_n35$raw_n4a r_st _n4f
2071 - - =r_st$_n35$raw_n4a
2080 - - =r_st
209.names release$raw_n6  release
2100 0
2111 1
212.names req$raw_n0  req
2130 0
2141 1
215.names use$raw_n3  use
2160 0
2171 1
218.names _nc _nf _n14 _n18 _n1c _n5a
219.def 0
220 1 1 - - - 1
221 0 - 1 - - 1
222 0 - 0 1 - 1
223 0 - 0 0 1 1
224.mv _n5b 4 R G U D
225.names _n5a m_st$_nc$raw_n2b m_st _n5b
2261 - - =m_st$_nc$raw_n2b
2270 - - =m_st
228.names grant$raw_n30  grant
2290 0
2301 1
231# non-blocking assignments
232# latches
233.r r_st$raw_n2f r_st
234- =r_st$raw_n2f
235.latch _n4f r_st
236.r m_st$raw_n9 m_st
237- =m_st$raw_n9
238.latch _n5b m_st
239# quasi-continuous assignment
240.end
241
242
243.model a0
244# I/O ports
245.inputs release
246.inputs req
247.inputs use
248.inputs grant
249
250# assign e0  = 1
251.names e0$raw_n66
2521
253# assign r0  = s3  || f0
254# s3  || f0
255.names s3 f0 _n68
256.def 1
2570 0 0
258.names _n68 r0$raw_n67
259- =_n68
260# assign trigger  = s0
261.names s0 trigger$raw_n69
262- =s0
263.subckt a0_seq0 a0_seq0 e=e0  r=r0  s=s0  f=f0  req=req 
264# assign e3  = trigger
265.names trigger e3$raw_n6a
266- =trigger
267# assign r3  = 0
268.names r3$raw_n6b
2690
270.subckt a0_seq3 a0_seq3 e=e3  r=r3  s=s3  f=f3  req=req  grant=grant  use=use  release=release 
271# conflict arbitrators
272.names r3$raw_n6b  r3
2730 0
2741 1
275.names trigger$raw_n69  trigger
2760 0
2771 1
278.names e0$raw_n66  e0
2790 0
2801 1
281.names e3$raw_n6a  e3
2820 0
2831 1
284.names r0$raw_n67  r0
2850 0
2861 1
287# non-blocking assignments
288# latches
289# quasi-continuous assignment
290.end
291
292
293.model a0_seq0
294# I/O ports
295.inputs e
296.outputs f
297.inputs req
298.inputs r
299.outputs s
300
301.mv st 4 S D X T
302# st  = 0
303.mv st$raw_n6c 4 S D X T
304.names st$raw_n6c
305S
306# non-blocking assignments for initial
307# assign s  = (((st  == S ) && e  && (req )))
308.mv _n6f 4 S D X T
309.names _n6f
310S
311# st  == 0
312.names st _n6f _n6e
313.def 0
314- =st 1
315# (st  == 0) && e
316.names _n6e e _n70
317.def 0
3181 1 1
319# (st  == 0) && e  && (req )
320.names _n70 req _n71
321.def 0
3221 1 1
323.names _n71 s$raw_n6d
324- =_n71
325# assign f  = (((st  == S ) && e  && !(req )) || (st  == T ))
326.mv _n74 4 S D X T
327.names _n74
328S
329# st  == 0
330.names st _n74 _n73
331.def 0
332- =st 1
333# (st  == 0) && e
334.names _n73 e _n75
335.def 0
3361 1 1
337.names req _n76
3380 1 
3391 0 
340# (st  == 0) && e  && !(req )
341.names _n75 _n76 _n77
342.def 0
3431 1 1
344.mv _n79 4 S D X T
345.names _n79
346T
347# st  == 3
348.names st _n79 _n78
349.def 0
350- =st 1
351# ((st  == 0) && e  && !(req )) || (st  == 3)
352.names _n77 _n78 _n7a
353.def 1
3540 0 0
355.names _n7a f$raw_n72
356- =_n7a
357.mv _n7d 4 S D X T
358.names _n7d
359S
360.names st _n7d _n7c
361.def 0
362- =st 1
363.names _n7c  _n7b
3641 1
3650 0
366# e  && (req )
367.names e req _n7e
368.def 0
3691 1 1
370.names _n7e _n7f
371- =_n7e
372# st  = 0
373.mv st$_n7e_n80$true 4 S D X T
374.names st$_n7e_n80$true
375S
376.names req _n81
3770 1 
3781 0 
379# e  && !(req )
380.names e _n81 _n82
381.def 0
3821 1 1
383.names _n82 _n83
384- =_n82
385# st  = 3
386.mv st$_n82_n84$true 4 S D X T
387.names st$_n82_n84$true
388T
389# if/else (e  && !(req ))
390.mv st$_n82$raw_n87 4 S D X T
391.names st$_n82_n84$true st _n82 st$_n82$raw_n87
392- - 0 =st
393- - 1 =st$_n82_n84$true
394# if/else (e  && (req ))
395.mv st$_n7e$raw_n89 4 S D X T
396.names st$_n7e_n80$true st$_n82$raw_n87 _n7e st$_n7e$raw_n89
397- - 0 =st$_n82$raw_n87
398- - 1 =st$_n7e_n80$true
399.names r _n8c
400- =r
401# st  = 0
402.mv st$r_n8d$true 4 S D X T
403.names st$r_n8d$true
404S
405# if/else (r )
406.mv st$r$raw_n90 4 S D X T
407.names st$r_n8d$true st r st$r$raw_n90
408- - 0 =st
409- - 1 =st$r_n8d$true
410# case (st )
411.mv st$_n7b$raw_n92 4 S D X T
412.names st$_n7e$raw_n89 st$r$raw_n90 _n7b st$_n7b$raw_n92
413- - 0 =st$r$raw_n90
414- - 1 =st$_n7e$raw_n89
415# conflict arbitrators
416.names f$raw_n72  f
4170 0
4181 1
419.names s$raw_n6d  s
4200 0
4211 1
422.names _n7b _n7f _n83 _n8c _n95
423.def 0
424 1 1 - - 1
425 1 0 1 - 1
426 0 - - 1 1
427.mv _n96 4 S D X T
428.names _n95 st$_n7b$raw_n92 st _n96
4291 - - =st$_n7b$raw_n92
4300 - - =st
431# non-blocking assignments
432# latches
433.r st$raw_n6c st
434- =st$raw_n6c
435.latch _n96 st
436# quasi-continuous assignment
437.end
438
439
440.model a0_seq3
441# I/O ports
442.inputs release
443.inputs e
444.outputs f
445.inputs req
446.inputs r
447.outputs s
448.inputs use
449.inputs grant
450
451.subckt a0_seq1 a0_seq1 e=e1  r=r1  s=s1  f=f1  req=req  grant=grant 
452.subckt a0_seq2 a0_seq2 e=e2  r=r2  s=s2  f=f2  use=use  release=release 
453# assign r1  = r
454.names r r1$raw_n99
455- =r
456# assign r2  = r
457.names r r2$raw_n9a
458- =r
459.subckt then then e=s1  r=r  s=e2 
460# assign s  = s2
461.names s2 s$raw_n9b
462- =s2
463# assign f  = f1  || f2
464# f1  || f2
465.names f1 f2 _n9d
466.def 1
4670 0 0
468.names _n9d f$raw_n9c
469- =_n9d
470# assign e1  = e
471.names e e1$raw_n9e
472- =e
473# conflict arbitrators
474.names r1$raw_n99  r1
4750 0
4761 1
477.names r2$raw_n9a  r2
4780 0
4791 1
480.names f$raw_n9c  f
4810 0
4821 1
483.names s$raw_n9b  s
4840 0
4851 1
486.names e1$raw_n9e  e1
4870 0
4881 1
489# non-blocking assignments
490# latches
491# quasi-continuous assignment
492.end
493
494
495.model a0_seq1
496# I/O ports
497.inputs e
498.outputs f
499.inputs req
500.inputs r
501.outputs s
502.inputs grant
503
504.mv st 4 S D X T
505# st  = 0
506.mv st$raw_n9f 4 S D X T
507.names st$raw_n9f
508S
509# non-blocking assignments for initial
510# assign s  = (((st  == S ) && e  && (grant )) || ((st  == X ) && (!r ) && (grant )))
511.mv _na2 4 S D X T
512.names _na2
513S
514# st  == 0
515.names st _na2 _na1
516.def 0
517- =st 1
518# (st  == 0) && e
519.names _na1 e _na3
520.def 0
5211 1 1
522# (st  == 0) && e  && (grant )
523.names _na3 grant _na4
524.def 0
5251 1 1
526.mv _na6 4 S D X T
527.names _na6
528X
529# st  == 2
530.names st _na6 _na5
531.def 0
532- =st 1
533.names r _na7
5340 1 
5351 0 
536# (st  == 2) && (!r )
537.names _na5 _na7 _na8
538.def 0
5391 1 1
540# (st  == 2) && (!r ) && (grant )
541.names _na8 grant _na9
542.def 0
5431 1 1
544# ((st  == 0) && e  && (grant )) || ((st  == 2) && (!r ) && (grant ))
545.names _na4 _na9 _naa
546.def 1
5470 0 0
548.names _naa s$raw_na0
549- =_naa
550# assign f  = (((st  == S ) && e  && !(req ) && !(grant )) || ((st  == X ) && !(req ) && !(grant )) || (st  == T ))
551.mv _nad 4 S D X T
552.names _nad
553S
554# st  == 0
555.names st _nad _nac
556.def 0
557- =st 1
558# (st  == 0) && e
559.names _nac e _nae
560.def 0
5611 1 1
562.names req _naf
5630 1 
5641 0 
565# (st  == 0) && e  && !(req )
566.names _nae _naf _nb0
567.def 0
5681 1 1
569.names grant _nb1
5700 1 
5711 0 
572# (st  == 0) && e  && !(req ) && !(grant )
573.names _nb0 _nb1 _nb2
574.def 0
5751 1 1
576.mv _nb4 4 S D X T
577.names _nb4
578X
579# st  == 2
580.names st _nb4 _nb3
581.def 0
582- =st 1
583.names req _nb5
5840 1 
5851 0 
586# (st  == 2) && !(req )
587.names _nb3 _nb5 _nb6
588.def 0
5891 1 1
590.names grant _nb7
5910 1 
5921 0 
593# (st  == 2) && !(req ) && !(grant )
594.names _nb6 _nb7 _nb8
595.def 0
5961 1 1
597# ((st  == 0) && e  && !(req ) && !(grant )) || ((st  == 2) && !(req ) && !(grant ))
598.names _nb2 _nb8 _nb9
599.def 1
6000 0 0
601.mv _nbb 4 S D X T
602.names _nbb
603T
604# st  == 3
605.names st _nbb _nba
606.def 0
607- =st 1
608# ((st  == 0) && e  && !(req ) && !(grant )) || ((st  == 2) && !(req ) && !(grant )) || (st  == 3)
609.names _nb9 _nba _nbc
610.def 1
6110 0 0
612.names _nbc f$raw_nab
613- =_nbc
614.mv _nbf 4 S D X T
615.names _nbf
616S
617.names st _nbf _nbe
618.def 0
619- =st 1
620.names _nbe  _nbd
6211 1
6220 0
623# e  && (grant )
624.names e grant _nc0
625.def 0
6261 1 1
627.names _nc0 _nc1
628- =_nc0
629# st  = 0
630.mv st$_nc0_nc2$true 4 S D X T
631.names st$_nc0_nc2$true
632S
633# e  && (req )
634.names e req _nc3
635.def 0
6361 1 1
637.names _nc3 _nc4
638- =_nc3
639# st  = 2
640.mv st$_nc3_nc5$true 4 S D X T
641.names st$_nc3_nc5$true
642X
643.names req _nc6
6440 1 
6451 0 
646# e  && !(req )
647.names e _nc6 _nc7
648.def 0
6491 1 1
650.names grant _nc8
6510 1 
6521 0 
653# e  && !(req ) && !(grant )
654.names _nc7 _nc8 _nc9
655.def 0
6561 1 1
657.names _nc9 _nca
658- =_nc9
659# st  = 3
660.mv st$_nc9_ncb$true 4 S D X T
661.names st$_nc9_ncb$true
662T
663# if/else (e  && !(req ) && !(grant ))
664.mv st$_nc9$raw_nce 4 S D X T
665.names st$_nc9_ncb$true st _nc9 st$_nc9$raw_nce
666- - 0 =st
667- - 1 =st$_nc9_ncb$true
668# if/else (e  && (req ))
669.mv st$_nc3$raw_nd0 4 S D X T
670.names st$_nc3_nc5$true st$_nc9$raw_nce _nc3 st$_nc3$raw_nd0
671- - 0 =st$_nc9$raw_nce
672- - 1 =st$_nc3_nc5$true
673# if/else (e  && (grant ))
674.mv st$_nc0$raw_nd4 4 S D X T
675.names st$_nc0_nc2$true st$_nc3$raw_nd0 _nc0 st$_nc0$raw_nd4
676- - 0 =st$_nc3$raw_nd0
677- - 1 =st$_nc0_nc2$true
678.mv _nd9 4 S D X T
679.names _nd9
680X
681.names st _nd9 _nd8
682.def 0
683- =st 1
684.names _nd8  _nd7
6851 1
6860 0
687# r  || (grant )
688.names r grant _nda
689.def 1
6900 0 0
691.names _nda _ndb
692- =_nda
693# st  = 0
694.mv st$_nda_ndc$true 4 S D X T
695.names st$_nda_ndc$true
696S
697.names req _ndd
6980 1 
6991 0 
700.names grant _nde
7010 1 
7021 0 
703# !(req ) && !(grant )
704.names _ndd _nde _ndf
705.def 0
7061 1 1
707.names _ndf _ne0
708- =_ndf
709# st  = 3
710.mv st$_ndf_ne1$true 4 S D X T
711.names st$_ndf_ne1$true
712T
713# if/else (!(req ) && !(grant ))
714.mv st$_ndf$raw_ne4 4 S D X T
715.names st$_ndf_ne1$true st _ndf st$_ndf$raw_ne4
716- - 0 =st
717- - 1 =st$_ndf_ne1$true
718# if/else (r  || (grant ))
719.mv st$_nda$raw_ne6 4 S D X T
720.names st$_nda_ndc$true st$_ndf$raw_ne4 _nda st$_nda$raw_ne6
721- - 0 =st$_ndf$raw_ne4
722- - 1 =st$_nda_ndc$true
723.names r _ne9
724- =r
725# st  = 0
726.mv st$r_nea$true 4 S D X T
727.names st$r_nea$true
728S
729# if/else (r )
730.mv st$r$raw_ned 4 S D X T
731.names st$r_nea$true st r st$r$raw_ned
732- - 0 =st
733- - 1 =st$r_nea$true
734# case (st )
735.mv st$_nd7$raw_nef 4 S D X T
736.names st$_nda$raw_ne6 st$r$raw_ned _nd7 st$_nd7$raw_nef
737- - 0 =st$r$raw_ned
738- - 1 =st$_nda$raw_ne6
739.mv st$_nbd$raw_nf3 4 S D X T
740.names st$_nc0$raw_nd4 st$_nd7$raw_nef _nbd st$_nbd$raw_nf3
741- - 0 =st$_nd7$raw_nef
742- - 1 =st$_nc0$raw_nd4
743# conflict arbitrators
744.names f$raw_nab  f
7450 0
7461 1
747.names s$raw_na0  s
7480 0
7491 1
750.names _nbd _nc1 _nc4 _nca _nd7 _ndb _ne0 _ne9 _nf6
751.def 0
752 1 1 - - - - - - 1
753 1 0 1 - - - - - 1
754 1 0 0 1 - - - - 1
755 0 - - - 1 1 - - 1
756 0 - - - 1 0 1 - 1
757 0 - - - 0 - - 1 1
758.mv _nf7 4 S D X T
759.names _nf6 st$_nbd$raw_nf3 st _nf7
7601 - - =st$_nbd$raw_nf3
7610 - - =st
762# non-blocking assignments
763# latches
764.r st$raw_n9f st
765- =st$raw_n9f
766.latch _nf7 st
767# quasi-continuous assignment
768.end
769
770
771.model a0_seq2
772# I/O ports
773.inputs release
774.inputs e
775.outputs f
776.inputs r
777.outputs s
778.inputs use
779
780.mv st 4 S D X T
781# st  = 0
782.mv st$raw_nfa 4 S D X T
783.names st$raw_nfa
784S
785# non-blocking assignments for initial
786# assign s  = (((st  == S ) && e  && (release )) || ((st  == X ) && (!r ) && (release )))
787.mv _nfd 4 S D X T
788.names _nfd
789S
790# st  == 0
791.names st _nfd _nfc
792.def 0
793- =st 1
794# (st  == 0) && e
795.names _nfc e _nfe
796.def 0
7971 1 1
798# (st  == 0) && e  && (release )
799.names _nfe release _nff
800.def 0
8011 1 1
802.mv _n101 4 S D X T
803.names _n101
804X
805# st  == 2
806.names st _n101 _n100
807.def 0
808- =st 1
809.names r _n102
8100 1 
8111 0 
812# (st  == 2) && (!r )
813.names _n100 _n102 _n103
814.def 0
8151 1 1
816# (st  == 2) && (!r ) && (release )
817.names _n103 release _n104
818.def 0
8191 1 1
820# ((st  == 0) && e  && (release )) || ((st  == 2) && (!r ) && (release ))
821.names _nff _n104 _n105
822.def 1
8230 0 0
824.names _n105 s$raw_nfb
825- =_n105
826# assign f  = (((st  == S ) && e  && !(use ) && !(release )) || ((st  == X ) && !(use ) && !(release )) || (st  == T ))
827.mv _n108 4 S D X T
828.names _n108
829S
830# st  == 0
831.names st _n108 _n107
832.def 0
833- =st 1
834# (st  == 0) && e
835.names _n107 e _n109
836.def 0
8371 1 1
838.names use _n10a
8390 1 
8401 0 
841# (st  == 0) && e  && !(use )
842.names _n109 _n10a _n10b
843.def 0
8441 1 1
845.names release _n10c
8460 1 
8471 0 
848# (st  == 0) && e  && !(use ) && !(release )
849.names _n10b _n10c _n10d
850.def 0
8511 1 1
852.mv _n10f 4 S D X T
853.names _n10f
854X
855# st  == 2
856.names st _n10f _n10e
857.def 0
858- =st 1
859.names use _n110
8600 1 
8611 0 
862# (st  == 2) && !(use )
863.names _n10e _n110 _n111
864.def 0
8651 1 1
866.names release _n112
8670 1 
8681 0 
869# (st  == 2) && !(use ) && !(release )
870.names _n111 _n112 _n113
871.def 0
8721 1 1
873# ((st  == 0) && e  && !(use ) && !(release )) || ((st  == 2) && !(use ) && !(release ))
874.names _n10d _n113 _n114
875.def 1
8760 0 0
877.mv _n116 4 S D X T
878.names _n116
879T
880# st  == 3
881.names st _n116 _n115
882.def 0
883- =st 1
884# ((st  == 0) && e  && !(use ) && !(release )) || ((st  == 2) && !(use ) && !(release )) || (st  == 3)
885.names _n114 _n115 _n117
886.def 1
8870 0 0
888.names _n117 f$raw_n106
889- =_n117
890.mv _n11a 4 S D X T
891.names _n11a
892S
893.names st _n11a _n119
894.def 0
895- =st 1
896.names _n119  _n118
8971 1
8980 0
899# e  && (release )
900.names e release _n11b
901.def 0
9021 1 1
903.names _n11b _n11c
904- =_n11b
905# st  = 0
906.mv st$_n11b_n11d$true 4 S D X T
907.names st$_n11b_n11d$true
908S
909# e  && (use )
910.names e use _n11e
911.def 0
9121 1 1
913.names _n11e _n11f
914- =_n11e
915# st  = 2
916.mv st$_n11e_n120$true 4 S D X T
917.names st$_n11e_n120$true
918X
919.names use _n121
9200 1 
9211 0 
922# e  && !(use )
923.names e _n121 _n122
924.def 0
9251 1 1
926.names release _n123
9270 1 
9281 0 
929# e  && !(use ) && !(release )
930.names _n122 _n123 _n124
931.def 0
9321 1 1
933.names _n124 _n125
934- =_n124
935# st  = 3
936.mv st$_n124_n126$true 4 S D X T
937.names st$_n124_n126$true
938T
939# if/else (e  && !(use ) && !(release ))
940.mv st$_n124$raw_n129 4 S D X T
941.names st$_n124_n126$true st _n124 st$_n124$raw_n129
942- - 0 =st
943- - 1 =st$_n124_n126$true
944# if/else (e  && (use ))
945.mv st$_n11e$raw_n12b 4 S D X T
946.names st$_n11e_n120$true st$_n124$raw_n129 _n11e st$_n11e$raw_n12b
947- - 0 =st$_n124$raw_n129
948- - 1 =st$_n11e_n120$true
949# if/else (e  && (release ))
950.mv st$_n11b$raw_n12f 4 S D X T
951.names st$_n11b_n11d$true st$_n11e$raw_n12b _n11b st$_n11b$raw_n12f
952- - 0 =st$_n11e$raw_n12b
953- - 1 =st$_n11b_n11d$true
954.mv _n134 4 S D X T
955.names _n134
956X
957.names st _n134 _n133
958.def 0
959- =st 1
960.names _n133  _n132
9611 1
9620 0
963# r  || (release )
964.names r release _n135
965.def 1
9660 0 0
967.names _n135 _n136
968- =_n135
969# st  = 0
970.mv st$_n135_n137$true 4 S D X T
971.names st$_n135_n137$true
972S
973.names use _n138
9740 1 
9751 0 
976.names release _n139
9770 1 
9781 0 
979# !(use ) && !(release )
980.names _n138 _n139 _n13a
981.def 0
9821 1 1
983.names _n13a _n13b
984- =_n13a
985# st  = 3
986.mv st$_n13a_n13c$true 4 S D X T
987.names st$_n13a_n13c$true
988T
989# if/else (!(use ) && !(release ))
990.mv st$_n13a$raw_n13f 4 S D X T
991.names st$_n13a_n13c$true st _n13a st$_n13a$raw_n13f
992- - 0 =st
993- - 1 =st$_n13a_n13c$true
994# if/else (r  || (release ))
995.mv st$_n135$raw_n141 4 S D X T
996.names st$_n135_n137$true st$_n13a$raw_n13f _n135 st$_n135$raw_n141
997- - 0 =st$_n13a$raw_n13f
998- - 1 =st$_n135_n137$true
999.names r _n144
1000- =r
1001# st  = 0
1002.mv st$r_n145$true 4 S D X T
1003.names st$r_n145$true
1004S
1005# if/else (r )
1006.mv st$r$raw_n148 4 S D X T
1007.names st$r_n145$true st r st$r$raw_n148
1008- - 0 =st
1009- - 1 =st$r_n145$true
1010# case (st )
1011.mv st$_n132$raw_n14a 4 S D X T
1012.names st$_n135$raw_n141 st$r$raw_n148 _n132 st$_n132$raw_n14a
1013- - 0 =st$r$raw_n148
1014- - 1 =st$_n135$raw_n141
1015.mv st$_n118$raw_n14e 4 S D X T
1016.names st$_n11b$raw_n12f st$_n132$raw_n14a _n118 st$_n118$raw_n14e
1017- - 0 =st$_n132$raw_n14a
1018- - 1 =st$_n11b$raw_n12f
1019# conflict arbitrators
1020.names f$raw_n106  f
10210 0
10221 1
1023.names s$raw_nfb  s
10240 0
10251 1
1026.names _n118 _n11c _n11f _n125 _n132 _n136 _n13b _n144 _n151
1027.def 0
1028 1 1 - - - - - - 1
1029 1 0 1 - - - - - 1
1030 1 0 0 1 - - - - 1
1031 0 - - - 1 1 - - 1
1032 0 - - - 1 0 1 - 1
1033 0 - - - 0 - - 1 1
1034.mv _n152 4 S D X T
1035.names _n151 st$_n118$raw_n14e st _n152
10361 - - =st$_n118$raw_n14e
10370 - - =st
1038# non-blocking assignments
1039# latches
1040.r st$raw_nfa st
1041- =st$raw_nfa
1042.latch _n152 st
1043# quasi-continuous assignment
1044.end
1045
1046
1047.model then
1048# I/O ports
1049.inputs e
1050.inputs r
1051.outputs s
1052
1053.mv st 4 S D X T
1054# st  = 0
1055.mv st$raw_n155 4 S D X T
1056.names st$raw_n155
1057S
1058# non-blocking assignments for initial
1059# assign s  = (st  == D )
1060.mv _n158 4 S D X T
1061.names _n158
1062D
1063# st  == 1
1064.names st _n158 _n157
1065.def 0
1066- =st 1
1067.names _n157 s$raw_n156
1068- =_n157
1069.mv _n15b 4 S D X T
1070.names _n15b
1071S
1072.names st _n15b _n15a
1073.def 0
1074- =st 1
1075.names _n15a  _n159
10761 1
10770 0
1078.names e _n15c
1079- =e
1080# st  = 2
1081.mv st$e_n15d$true 4 S D X T
1082.names st$e_n15d$true
1083X
1084# if/else (e )
1085.mv st$e$raw_n160 4 S D X T
1086.names st$e_n15d$true st e st$e$raw_n160
1087- - 0 =st
1088- - 1 =st$e_n15d$true
1089.mv _n163 4 S D X T
1090.names _n163
1091X
1092.names st _n163 _n162
1093.def 0
1094- =st 1
1095.names _n162  _n161
10961 1
10970 0
1098# st  = 1
1099.mv st$_n161_n164$true 4 S D X T
1100.names st$_n161_n164$true
1101D
1102.names r _n165
1103- =r
1104# st  = 0
1105.mv st$r_n166$true 4 S D X T
1106.names st$r_n166$true
1107S
1108# if/else (r )
1109.mv st$r$raw_n169 4 S D X T
1110.names st$r_n166$true st r st$r$raw_n169
1111- - 0 =st
1112- - 1 =st$r_n166$true
1113# case (st )
1114.mv st$_n161$raw_n16b 4 S D X T
1115.names st$_n161_n164$true st$r$raw_n169 _n161 st$_n161$raw_n16b
1116- - 0 =st$r$raw_n169
1117- - 1 =st$_n161_n164$true
1118.mv st$_n159$raw_n16f 4 S D X T
1119.names st$e$raw_n160 st$_n161$raw_n16b _n159 st$_n159$raw_n16f
1120- - 0 =st$_n161$raw_n16b
1121- - 1 =st$e$raw_n160
1122# conflict arbitrators
1123.names s$raw_n156  s
11240 0
11251 1
1126.names _n159 _n15c _n161 _n165 _n172
1127.def 0
1128 1 1 - - 1
1129 0 - 1 - 1
1130 0 - 0 1 1
1131.mv _n173 4 S D X T
1132.names _n172 st$_n159$raw_n16f st _n173
11331 - - =st$_n159$raw_n16f
11340 - - =st
1135# non-blocking assignments
1136# latches
1137.r st$raw_n155 st
1138- =st$raw_n155
1139.latch _n173 st
1140# quasi-continuous assignment
1141.end
1142
1143
Note: See TracBrowser for help on using the repository browser.