| Line | |
|---|
| 1 | # vl2mv and2.v |
|---|
| 2 | # version: 2.1 |
|---|
| 3 | # date: 16:50:59 12/22/2011 (CET) |
|---|
| 4 | .model andgate |
|---|
| 5 | # I/O ports |
|---|
| 6 | .inputs a |
|---|
| 7 | .inputs b |
|---|
| 8 | # c = 0 |
|---|
| 9 | .names c$raw_n0 |
|---|
| 10 | 0 |
|---|
| 11 | # non-blocking assignments for initial |
|---|
| 12 | # assign x = a & b |
|---|
| 13 | # a & b |
|---|
| 14 | .names a b _n2 |
|---|
| 15 | .def 0 |
|---|
| 16 | 1 1 1 |
|---|
| 17 | .names _n2 x$raw_n1 |
|---|
| 18 | - =_n2 |
|---|
| 19 | # assign y = (a ) ? b : x |
|---|
| 20 | # (a ) ? b : x |
|---|
| 21 | .names a b x _n4 |
|---|
| 22 | .def 0 |
|---|
| 23 | 1 1 - 1 |
|---|
| 24 | 0 - 1 1 |
|---|
| 25 | .names _n4 y$raw_n3 |
|---|
| 26 | - =_n4 |
|---|
| 27 | # c = ~x + c |
|---|
| 28 | .names x _n7 |
|---|
| 29 | 0 1 |
|---|
| 30 | 1 0 |
|---|
| 31 | # ~x + c |
|---|
| 32 | .names _n9 |
|---|
| 33 | 0 |
|---|
| 34 | .names _n7 c _n9 _n8 |
|---|
| 35 | .def 0 |
|---|
| 36 | 0 0 1 1 |
|---|
| 37 | 0 1 0 1 |
|---|
| 38 | 1 0 0 1 |
|---|
| 39 | 1 1 1 1 |
|---|
| 40 | # carry/borrow |
|---|
| 41 | .names _nb |
|---|
| 42 | 0 |
|---|
| 43 | .names _n7 c _nb _na |
|---|
| 44 | .def 0 |
|---|
| 45 | - 1 1 1 |
|---|
| 46 | 1 - 1 1 |
|---|
| 47 | 1 1 - 1 |
|---|
| 48 | .names _n8 c$raw_n6 |
|---|
| 49 | - =_n8 |
|---|
| 50 | # conflict arbitrators |
|---|
| 51 | .names y$raw_n3 y |
|---|
| 52 | 0 0 |
|---|
| 53 | 1 1 |
|---|
| 54 | .names _nc |
|---|
| 55 | .def 0 |
|---|
| 56 | 1 |
|---|
| 57 | .names _nc c$raw_n6 _nd |
|---|
| 58 | .def 0 |
|---|
| 59 | 1 0 0 |
|---|
| 60 | 1 1 1 |
|---|
| 61 | .names x$raw_n1 x |
|---|
| 62 | 0 0 |
|---|
| 63 | 1 1 |
|---|
| 64 | # non-blocking assignments |
|---|
| 65 | # latches |
|---|
| 66 | .r c$raw_n0 c |
|---|
| 67 | 0 0 |
|---|
| 68 | 1 1 |
|---|
| 69 | .latch _nd c |
|---|
| 70 | # quasi-continuous assignment |
|---|
| 71 | .end |
|---|
Note: See
TracBrowser
for help on using the repository browser.