OpenCores
URL https://opencores.org/ocsvn/a-z80/a-z80/trunk

Subversion Repositories a-z80

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /a-z80
    from Rev 15 to Rev 16
    Reverse comparison

Rev 15 → Rev 16

/trunk/cpu/alu/alu_flags.bdf
485,9 → 485,9
)
(pin
(input)
(rect 24 1640 200 1656)
(rect 24 1624 200 1640)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "hold_clk_wait" (rect 9 0 73 12)(font "Arial" ))
(text "nhold_clk_wait" (rect 5 0 76 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
666,7 → 666,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
698,7 → 698,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
730,7 → 730,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
762,7 → 762,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
794,7 → 794,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
826,7 → 826,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
858,7 → 858,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
890,7 → 890,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
922,7 → 922,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
954,7 → 954,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
986,7 → 986,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
1018,7 → 1018,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
1050,7 → 1050,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
1082,7 → 1082,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
1114,7 → 1114,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
1146,7 → 1146,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1179,7 → 1179,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1212,7 → 1212,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1245,7 → 1245,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1278,7 → 1278,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1311,7 → 1311,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1344,7 → 1344,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1377,7 → 1377,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1408,7 → 1408,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1439,7 → 1439,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1470,7 → 1470,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1501,7 → 1501,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1532,7 → 1532,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1563,7 → 1563,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1594,7 → 1594,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 32 16)(pt 48 16))
)
(drawing
1625,7 → 1625,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
1651,7 → 1651,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
1683,7 → 1683,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 49 24)(pt 64 24))
)
(drawing
1717,7 → 1717,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 49 24)(pt 64 24))
)
(drawing
1854,7 → 1854,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
1879,7 → 1879,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
1911,7 → 1911,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
1950,7 → 1950,7
(pt 64 24)
(output)
(text "OUT" (rect 47 15 64 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 47 15 61 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 47 15 64 27)(font "Courier New" (bold))(invisible))
(line (pt 49 24)(pt 64 24))
)
(drawing
1983,7 → 1983,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
2008,7 → 2008,7
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
2040,7 → 2040,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 48 24)(pt 64 24))
)
(drawing
2094,7 → 2094,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2151,7 → 2151,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2208,7 → 2208,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2265,7 → 2265,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2322,7 → 2322,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2379,7 → 2379,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2436,7 → 2436,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2493,7 → 2493,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2550,7 → 2550,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2607,7 → 2607,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
2622,31 → 2622,6
)
)
(symbol
(rect 208 1632 256 1664)
(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
(text "inst27" (rect 3 21 32 33)(font "Arial" ))
(port
(pt 0 16)
(input)
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(line (pt 0 16)(pt 13 16))
)
(port
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
(line (pt 13 25)(pt 13 7))
(line (pt 13 7)(pt 31 16))
(line (pt 13 25)(pt 31 16))
(circle (rect 31 12 39 20))
)
)
(symbol
(rect 440 1296 504 1344)
(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
(text "inst28" (rect 3 37 32 49)(font "Arial" ))
2675,7 → 2650,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 43 24)(pt 64 24))
)
(drawing
2707,7 → 2682,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
3877,10 → 3852,6
(bus)
)
(connector
(pt 200 1648)
(pt 208 1648)
)
(connector
(pt 632 1400)
(pt 616 1400)
)
3985,20 → 3956,20
(pt 440 1456)
)
(connector
(pt 424 1456)
(pt 424 1648)
)
(connector
(pt 440 1320)
(pt 424 1320)
)
(connector
(pt 424 1632)
(pt 200 1632)
)
(connector
(pt 424 1320)
(pt 424 1456)
)
(connector
(pt 256 1648)
(pt 424 1648)
(pt 424 1456)
(pt 424 1632)
)
(junction (pt 816 568))
(junction (pt 840 640))
4073,7 → 4044,7
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "alu_flags" (rect 43 2 104 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.7" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.8" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(drawing
)
)
/trunk/cpu/alu/alu_flags.bsf
229,8 → 229,8
(port
(pt 0 496)
(input)
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 21 491 98 505)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 0 0 84 14)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 21 491 105 505)(font "Arial" (font_size 8)))
(line (pt 0 496)(pt 16 496))
)
(port
/trunk/cpu/alu/alu_flags.v
14,7 → 14,7
 
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED "Fri Dec 09 21:55:51 2016"
// CREATED "Sat Dec 10 09:01:30 2016"
 
module alu_flags(
ctl_flags_oe,
46,7 → 46,7
clk,
ctl_flags_cf2_sel_shift,
ctl_flags_cf2_sel_daa,
hold_clk_wait,
nhold_clk_wait,
flags_sf,
flags_zf,
flags_hf,
88,7 → 88,7
input wire clk;
input wire ctl_flags_cf2_sel_shift;
input wire ctl_flags_cf2_sel_daa;
input wire hold_clk_wait;
input wire nhold_clk_wait;
output wire flags_sf;
output wire flags_zf;
output wire flags_hf;
111,9 → 111,10
wire SYNTHESIZED_WIRE_5;
wire SYNTHESIZED_WIRE_6;
wire SYNTHESIZED_WIRE_7;
reg SYNTHESIZED_WIRE_41;
wire SYNTHESIZED_WIRE_42;
reg SYNTHESIZED_WIRE_39;
wire SYNTHESIZED_WIRE_8;
wire SYNTHESIZED_WIRE_9;
wire SYNTHESIZED_WIRE_10;
wire SYNTHESIZED_WIRE_11;
wire SYNTHESIZED_WIRE_12;
wire SYNTHESIZED_WIRE_13;
126,110 → 127,106
wire SYNTHESIZED_WIRE_20;
wire SYNTHESIZED_WIRE_21;
wire SYNTHESIZED_WIRE_22;
reg DFFE_inst_latch_sf;
wire SYNTHESIZED_WIRE_23;
reg DFFE_inst_latch_pf;
reg DFFE_inst_latch_nf;
wire SYNTHESIZED_WIRE_24;
reg DFFE_inst_latch_sf;
wire SYNTHESIZED_WIRE_25;
reg DFFE_inst_latch_pf;
reg DFFE_inst_latch_nf;
wire SYNTHESIZED_WIRE_26;
wire SYNTHESIZED_WIRE_27;
wire SYNTHESIZED_WIRE_28;
wire SYNTHESIZED_WIRE_29;
wire SYNTHESIZED_WIRE_30;
wire SYNTHESIZED_WIRE_31;
wire SYNTHESIZED_WIRE_43;
wire SYNTHESIZED_WIRE_40;
wire SYNTHESIZED_WIRE_32;
wire SYNTHESIZED_WIRE_33;
wire SYNTHESIZED_WIRE_34;
wire SYNTHESIZED_WIRE_35;
wire SYNTHESIZED_WIRE_36;
wire SYNTHESIZED_WIRE_37;
wire SYNTHESIZED_WIRE_38;
wire SYNTHESIZED_WIRE_39;
reg DFFE_inst_latch_cf;
reg DFFE_inst_latch_cf2;
wire SYNTHESIZED_WIRE_40;
wire SYNTHESIZED_WIRE_38;
 
assign flags_sf = DFFE_inst_latch_sf;
assign flags_zf = SYNTHESIZED_WIRE_41;
assign flags_hf = SYNTHESIZED_WIRE_25;
assign flags_zf = SYNTHESIZED_WIRE_39;
assign flags_hf = SYNTHESIZED_WIRE_23;
assign flags_pf = DFFE_inst_latch_pf;
assign flags_cf = SYNTHESIZED_WIRE_26;
assign flags_cf = SYNTHESIZED_WIRE_24;
assign flags_nf = DFFE_inst_latch_nf;
assign flags_cf_latch = DFFE_inst_latch_cf;
assign SYNTHESIZED_WIRE_40 = 0;
assign SYNTHESIZED_WIRE_38 = 0;
 
 
 
assign SYNTHESIZED_WIRE_12 = db[7] & ctl_flags_bus;
assign SYNTHESIZED_WIRE_10 = db[7] & ctl_flags_bus;
 
assign SYNTHESIZED_WIRE_19 = alu_xf_out & ctl_flags_alu;
assign SYNTHESIZED_WIRE_17 = alu_xf_out & ctl_flags_alu;
 
assign SYNTHESIZED_WIRE_22 = db[2] & ctl_flags_bus;
assign SYNTHESIZED_WIRE_20 = db[2] & ctl_flags_bus;
 
assign SYNTHESIZED_WIRE_21 = pf_sel & ctl_flags_alu;
assign SYNTHESIZED_WIRE_19 = pf_sel & ctl_flags_alu;
 
assign SYNTHESIZED_WIRE_2 = db[1] & ctl_flags_bus;
 
assign SYNTHESIZED_WIRE_25 = DFFE_inst_latch_hf ^ ctl_flags_hf_cpl;
assign SYNTHESIZED_WIRE_23 = DFFE_inst_latch_hf ^ ctl_flags_hf_cpl;
 
assign SYNTHESIZED_WIRE_24 = db[0] & ctl_flags_bus;
assign SYNTHESIZED_WIRE_22 = db[0] & ctl_flags_bus;
 
assign SYNTHESIZED_WIRE_23 = ctl_flags_alu & alu_core_cf_out;
assign SYNTHESIZED_WIRE_21 = ctl_flags_alu & alu_core_cf_out;
 
assign SYNTHESIZED_WIRE_9 = ~ctl_flags_cf2_we;
assign SYNTHESIZED_WIRE_8 = ~ctl_flags_cf2_we;
 
assign SYNTHESIZED_WIRE_26 = SYNTHESIZED_WIRE_0 ^ ctl_flags_cf_cpl;
assign SYNTHESIZED_WIRE_24 = SYNTHESIZED_WIRE_0 ^ ctl_flags_cf_cpl;
 
assign SYNTHESIZED_WIRE_1 = alu_sf_out & ctl_flags_alu;
 
assign SYNTHESIZED_WIRE_11 = alu_sf_out & ctl_flags_alu;
assign SYNTHESIZED_WIRE_9 = alu_sf_out & ctl_flags_alu;
 
assign SYNTHESIZED_WIRE_5 = ctl_flags_nf_set | SYNTHESIZED_WIRE_1 | SYNTHESIZED_WIRE_2;
 
assign SYNTHESIZED_WIRE_39 = SYNTHESIZED_WIRE_3 & SYNTHESIZED_WIRE_4;
assign SYNTHESIZED_WIRE_37 = SYNTHESIZED_WIRE_3 & SYNTHESIZED_WIRE_4;
 
 
assign SYNTHESIZED_WIRE_34 = SYNTHESIZED_WIRE_5 & SYNTHESIZED_WIRE_6;
assign SYNTHESIZED_WIRE_32 = SYNTHESIZED_WIRE_5 & SYNTHESIZED_WIRE_6;
 
assign SYNTHESIZED_WIRE_6 = ~ctl_flags_nf_clr;
 
assign SYNTHESIZED_WIRE_7 = ~ctl_alu_zero_16bit;
 
assign SYNTHESIZED_WIRE_4 = SYNTHESIZED_WIRE_7 | SYNTHESIZED_WIRE_41;
assign SYNTHESIZED_WIRE_4 = SYNTHESIZED_WIRE_7 | SYNTHESIZED_WIRE_39;
 
assign SYNTHESIZED_WIRE_42 = ~hold_clk_wait;
assign SYNTHESIZED_WIRE_27 = ctl_flags_cf_we & nhold_clk_wait & SYNTHESIZED_WIRE_8;
 
assign SYNTHESIZED_WIRE_29 = ctl_flags_cf_we & SYNTHESIZED_WIRE_42 & SYNTHESIZED_WIRE_9;
assign SYNTHESIZED_WIRE_29 = ctl_flags_cf2_we & nhold_clk_wait;
 
assign SYNTHESIZED_WIRE_31 = ctl_flags_cf2_we & SYNTHESIZED_WIRE_42;
assign SYNTHESIZED_WIRE_12 = db[6] & ctl_flags_bus;
 
assign SYNTHESIZED_WIRE_14 = db[6] & ctl_flags_bus;
assign SYNTHESIZED_WIRE_34 = SYNTHESIZED_WIRE_9 | SYNTHESIZED_WIRE_10;
 
assign SYNTHESIZED_WIRE_36 = SYNTHESIZED_WIRE_11 | SYNTHESIZED_WIRE_12;
assign SYNTHESIZED_WIRE_3 = SYNTHESIZED_WIRE_11 | SYNTHESIZED_WIRE_12;
 
assign SYNTHESIZED_WIRE_3 = SYNTHESIZED_WIRE_13 | SYNTHESIZED_WIRE_14;
assign SYNTHESIZED_WIRE_36 = SYNTHESIZED_WIRE_13 | SYNTHESIZED_WIRE_14;
 
assign SYNTHESIZED_WIRE_38 = SYNTHESIZED_WIRE_15 | SYNTHESIZED_WIRE_16;
assign SYNTHESIZED_WIRE_40 = SYNTHESIZED_WIRE_15 | SYNTHESIZED_WIRE_16;
 
assign SYNTHESIZED_WIRE_43 = SYNTHESIZED_WIRE_17 | SYNTHESIZED_WIRE_18;
assign SYNTHESIZED_WIRE_35 = SYNTHESIZED_WIRE_17 | SYNTHESIZED_WIRE_18;
 
assign SYNTHESIZED_WIRE_37 = SYNTHESIZED_WIRE_19 | SYNTHESIZED_WIRE_20;
assign SYNTHESIZED_WIRE_33 = SYNTHESIZED_WIRE_19 | SYNTHESIZED_WIRE_20;
 
assign SYNTHESIZED_WIRE_35 = SYNTHESIZED_WIRE_21 | SYNTHESIZED_WIRE_22;
assign SYNTHESIZED_WIRE_11 = alu_zero & ctl_flags_alu;
 
assign SYNTHESIZED_WIRE_13 = alu_zero & ctl_flags_alu;
assign SYNTHESIZED_WIRE_26 = SYNTHESIZED_WIRE_21 | SYNTHESIZED_WIRE_22;
 
assign SYNTHESIZED_WIRE_28 = SYNTHESIZED_WIRE_23 | SYNTHESIZED_WIRE_24;
 
assign db[7] = ctl_flags_oe ? DFFE_inst_latch_sf : 1'bz;
 
assign SYNTHESIZED_WIRE_16 = db[5] & ctl_flags_bus;
assign SYNTHESIZED_WIRE_14 = db[5] & ctl_flags_bus;
 
assign db[6] = ctl_flags_oe ? SYNTHESIZED_WIRE_41 : 1'bz;
assign db[6] = ctl_flags_oe ? SYNTHESIZED_WIRE_39 : 1'bz;
 
assign db[5] = ctl_flags_oe ? flags_yf : 1'bz;
 
assign db[4] = ctl_flags_oe ? SYNTHESIZED_WIRE_25 : 1'bz;
assign db[4] = ctl_flags_oe ? SYNTHESIZED_WIRE_23 : 1'bz;
 
assign db[3] = ctl_flags_oe ? flags_xf : 1'bz;
 
237,24 → 234,24
 
assign db[1] = ctl_flags_oe ? DFFE_inst_latch_nf : 1'bz;
 
assign db[0] = ctl_flags_oe ? SYNTHESIZED_WIRE_26 : 1'bz;
assign db[0] = ctl_flags_oe ? SYNTHESIZED_WIRE_24 : 1'bz;
 
assign SYNTHESIZED_WIRE_15 = alu_yf_out & ctl_flags_alu;
assign SYNTHESIZED_WIRE_13 = alu_yf_out & ctl_flags_alu;
 
assign SYNTHESIZED_WIRE_0 = ctl_flags_cf_set | SYNTHESIZED_WIRE_27;
assign SYNTHESIZED_WIRE_0 = ctl_flags_cf_set | SYNTHESIZED_WIRE_25;
 
assign SYNTHESIZED_WIRE_18 = db[4] & ctl_flags_bus;
assign SYNTHESIZED_WIRE_16 = db[4] & ctl_flags_bus;
 
assign SYNTHESIZED_WIRE_17 = alu_core_cf_out & ctl_flags_alu;
assign SYNTHESIZED_WIRE_15 = alu_core_cf_out & ctl_flags_alu;
 
assign SYNTHESIZED_WIRE_20 = db[3] & ctl_flags_bus;
assign SYNTHESIZED_WIRE_18 = db[3] & ctl_flags_bus;
 
 
always@(posedge clk)
begin
if (SYNTHESIZED_WIRE_29)
if (SYNTHESIZED_WIRE_27)
begin
DFFE_inst_latch_cf <= SYNTHESIZED_WIRE_28;
DFFE_inst_latch_cf <= SYNTHESIZED_WIRE_26;
end
end
 
261,9 → 258,9
 
always@(posedge clk)
begin
if (SYNTHESIZED_WIRE_31)
if (SYNTHESIZED_WIRE_29)
begin
DFFE_inst_latch_cf2 <= SYNTHESIZED_WIRE_30;
DFFE_inst_latch_cf2 <= SYNTHESIZED_WIRE_28;
end
end
 
272,7 → 269,7
begin
if (ctl_flags_hf_we)
begin
DFFE_inst_latch_hf <= SYNTHESIZED_WIRE_43;
DFFE_inst_latch_hf <= SYNTHESIZED_WIRE_40;
end
end
 
281,7 → 278,7
begin
if (ctl_flags_hf2_we)
begin
flags_hf2 <= SYNTHESIZED_WIRE_43;
flags_hf2 <= SYNTHESIZED_WIRE_40;
end
end
 
290,7 → 287,7
begin
if (ctl_flags_nf_we)
begin
DFFE_inst_latch_nf <= SYNTHESIZED_WIRE_34;
DFFE_inst_latch_nf <= SYNTHESIZED_WIRE_32;
end
end
 
299,7 → 296,7
begin
if (ctl_flags_pf_we)
begin
DFFE_inst_latch_pf <= SYNTHESIZED_WIRE_35;
DFFE_inst_latch_pf <= SYNTHESIZED_WIRE_33;
end
end
 
308,7 → 305,7
begin
if (ctl_flags_sz_we)
begin
DFFE_inst_latch_sf <= SYNTHESIZED_WIRE_36;
DFFE_inst_latch_sf <= SYNTHESIZED_WIRE_34;
end
end
 
317,7 → 314,7
begin
if (ctl_flags_xy_we)
begin
flags_xf <= SYNTHESIZED_WIRE_37;
flags_xf <= SYNTHESIZED_WIRE_35;
end
end
 
326,7 → 323,7
begin
if (ctl_flags_xy_we)
begin
flags_yf <= SYNTHESIZED_WIRE_38;
flags_yf <= SYNTHESIZED_WIRE_36;
end
end
 
335,7 → 332,7
begin
if (ctl_flags_sz_we)
begin
SYNTHESIZED_WIRE_41 <= SYNTHESIZED_WIRE_39;
SYNTHESIZED_WIRE_39 <= SYNTHESIZED_WIRE_37;
end
end
 
344,7 → 341,7
.in0(DFFE_inst_latch_cf),
.in1(DFFE_inst_latch_cf2),
.sel1(ctl_flags_use_cf2),
.out(SYNTHESIZED_WIRE_27));
.out(SYNTHESIZED_WIRE_25));
 
 
alu_mux_4 b2v_inst_mux_cf2(
351,9 → 348,9
.in0(alu_core_cf_out),
.in1(shift_cf_out),
.in2(daa_cf_out),
.in3(SYNTHESIZED_WIRE_40),
.in3(SYNTHESIZED_WIRE_38),
.sel(sel),
.out(SYNTHESIZED_WIRE_30));
.out(SYNTHESIZED_WIRE_28));
 
assign sel[0] = ctl_flags_cf2_sel_shift;
assign sel[1] = ctl_flags_cf2_sel_daa;
/trunk/cpu/control/clk_delay.bdf
165,7 → 165,7
)
(pin
(output)
(rect 656 88 832 104)
(rect 656 64 832 80)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "hold_clk_iorq" (rect 90 0 153 12)(font "Arial" ))
(pt 0 8)
197,7 → 197,7
)
(pin
(output)
(rect 656 136 832 152)
(rect 656 96 832 112)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "iorq_Tw" (rect 90 0 126 12)(font "Arial" ))
(pt 0 8)
213,7 → 213,7
)
(pin
(output)
(rect 656 384 832 400)
(rect 656 360 832 376)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "busack" (rect 90 0 125 12)(font "Arial" ))
(pt 0 8)
245,7 → 245,7
)
(pin
(output)
(rect 656 440 832 456)
(rect 656 392 832 408)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "hold_clk_busrq" (rect 90 0 163 12)(font "Arial" ))
(pt 0 8)
259,6 → 259,22
(line (pt 78 12)(pt 82 8))
)
)
(pin
(output)
(rect 656 224 832 240)
(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
(text "nhold_clk_wait" (rect 90 0 160 12)(font "Arial" ))
(pt 0 8)
(drawing
(line (pt 0 8)(pt 52 8))
(line (pt 52 4)(pt 78 4))
(line (pt 52 12)(pt 78 12))
(line (pt 52 12)(pt 52 4))
(line (pt 78 4)(pt 82 8))
(line (pt 82 8)(pt 78 12))
(line (pt 78 12)(pt 82 8))
)
)
(symbol
(rect 368 80 432 160)
(text "DFF" (rect 1 0 19 10)(font "Arial" (font_size 6)))
360,7 → 376,7
)
)
(symbol
(rect 576 72 640 120)
(rect 576 48 640 96)
(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
(text "inst10" (rect 3 37 32 49)(font "Arial" ))
(port
548,7 → 564,7
(rotate270)
)
(symbol
(rect 576 368 640 416)
(rect 576 344 640 392)
(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
(text "inst11" (rect 3 37 32 49)(font "Arial" ))
(port
776,6 → 792,31
(circle (rect 28 68 36 76))
)
)
(symbol
(rect 584 216 632 248)
(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
(text "inst8" (rect 3 21 26 33)(font "Arial" ))
(port
(pt 0 16)
(input)
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(line (pt 0 16)(pt 13 16))
)
(port
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
(line (pt 13 25)(pt 13 7))
(line (pt 13 7)(pt 31 16))
(line (pt 13 25)(pt 31 16))
(circle (rect 31 12 39 20))
)
)
(connector
(pt 248 96)
(pt 232 96)
813,18 → 854,10
(pt 512 160)
)
(connector
(pt 560 64)
(pt 560 88)
)
(connector
(pt 312 104)
(pt 368 104)
)
(connector
(pt 560 88)
(pt 576 88)
)
(connector
(pt 456 336)
(pt 456 320)
)
917,10 → 950,6
(pt 456 64)
)
(connector
(pt 560 64)
(pt 456 64)
)
(connector
(pt 432 104)
(pt 456 104)
)
945,50 → 974,10
(pt 576 488)
)
(connector
(pt 504 360)
(pt 504 384)
)
(connector
(pt 488 400)
(pt 504 400)
)
(connector
(pt 504 384)
(pt 576 384)
)
(connector
(pt 640 392)
(pt 656 392)
)
(connector
(pt 488 264)
(pt 512 264)
)
(connector
(pt 512 264)
(pt 656 264)
)
(connector
(pt 640 96)
(pt 656 96)
)
(connector
(pt 560 104)
(pt 560 144)
)
(connector
(pt 560 144)
(pt 656 144)
)
(connector
(pt 544 104)
(pt 560 104)
)
(connector
(pt 560 104)
(pt 576 104)
)
(connector
(pt 512 224)
(pt 296 224)
)
1082,18 → 1071,6
(pt 656 480)
)
(connector
(pt 656 448)
(pt 504 448)
)
(connector
(pt 504 400)
(pt 504 448)
)
(connector
(pt 504 448)
(pt 504 472)
)
(connector
(pt 424 432)
(pt 416 432)
)
1110,18 → 1087,86
(pt 320 528)
)
(connector
(pt 504 400)
(pt 576 400)
(text "hold_clk_busrq" (rect 233 528 306 540)(font "Arial" ))
(pt 232 544)
(pt 320 544)
)
(connector
(pt 504 360)
(pt 632 232)
(pt 656 232)
)
(connector
(pt 584 232)
(pt 560 232)
)
(connector
(pt 560 232)
(pt 560 264)
)
(connector
(pt 512 264)
(pt 560 264)
)
(connector
(pt 560 264)
(pt 656 264)
)
(connector
(pt 640 368)
(pt 656 368)
)
(connector
(pt 400 360)
(pt 576 360)
)
(connector
(text "hold_clk_busrq" (rect 233 528 306 540)(font "Arial" ))
(pt 232 544)
(pt 320 544)
(pt 504 400)
(pt 504 472)
)
(connector
(pt 488 400)
(pt 504 400)
)
(connector
(pt 576 376)
(pt 560 376)
)
(connector
(pt 560 400)
(pt 560 376)
)
(connector
(pt 504 400)
(pt 560 400)
)
(connector
(pt 560 400)
(pt 656 400)
)
(connector
(pt 560 80)
(pt 576 80)
)
(connector
(pt 640 72)
(pt 656 72)
)
(connector
(pt 456 64)
(pt 576 64)
)
(connector
(pt 560 80)
(pt 560 104)
)
(connector
(pt 544 104)
(pt 560 104)
)
(connector
(pt 560 104)
(pt 656 104)
)
(junction (pt 344 176))
(junction (pt 400 200))
(junction (pt 560 104))
1136,11 → 1181,12
(junction (pt 512 264))
(junction (pt 456 104))
(junction (pt 456 488))
(junction (pt 504 448))
(junction (pt 560 264))
(junction (pt 560 400))
(text "Adds a 2-cycle delay for Interrupt response" (rect 48 40 298 54)(font "Arial" (font_size 8)))
(text "HOLD CLOCK FOR IORQ DELAY" (rect 656 168 840 182)(font "Arial" (font_size 8)))
(text "HOLD CLOCK FOR IORQ DELAY" (rect 656 128 840 142)(font "Arial" (font_size 8)))
(text "HOLD CLOCK FOR WAIT PIN ACTIVE" (rect 656 288 864 302)(font "Arial" (font_size 8)))
(text "HOLD CLOCK FOR BUS REQUEST" (rect 656 416 849 430)(font "Arial" (font_size 8)))
(text "HOLD CLOCK FOR BUS REQUEST" (rect 656 424 849 438)(font "Arial" (font_size 8)))
(text "Latch before M1 or throughout the busrq hold" (rect 400 544 658 558)(font "Arial" (font_size 8)))
(title_block
(rect 40 584 297 636)
1148,8 → 1194,8
(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "clk_delay" (rect 43 2 106 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "July 27, 2014" (rect 56 3 131 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.2" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "July 27, 2014, 2016" (rect 56 3 166 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.3" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(drawing
)
)
/trunk/cpu/control/clk_delay.bsf
103,31 → 103,38
(port
(pt 200 64)
(output)
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 102 59 179 73)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 0 0 84 14)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 95 59 179 73)(font "Arial" (font_size 8)))
(line (pt 200 64)(pt 184 64))
)
(port
(pt 200 80)
(output)
(text "busack" (rect 0 0 41 14)(font "Arial" (font_size 8)))
(text "busack" (rect 138 75 179 89)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 102 75 179 89)(font "Arial" (font_size 8)))
(line (pt 200 80)(pt 184 80))
)
(port
(pt 200 96)
(output)
(text "hold_clk_busrq" (rect 0 0 86 14)(font "Arial" (font_size 8)))
(text "hold_clk_busrq" (rect 93 91 179 105)(font "Arial" (font_size 8)))
(text "busack" (rect 0 0 41 14)(font "Arial" (font_size 8)))
(text "busack" (rect 138 91 179 105)(font "Arial" (font_size 8)))
(line (pt 200 96)(pt 184 96))
)
(port
(pt 200 112)
(output)
(text "pin_control_oe" (rect 0 0 83 14)(font "Arial" (font_size 8)))
(text "pin_control_oe" (rect 96 107 179 121)(font "Arial" (font_size 8)))
(text "hold_clk_busrq" (rect 0 0 86 14)(font "Arial" (font_size 8)))
(text "hold_clk_busrq" (rect 93 107 179 121)(font "Arial" (font_size 8)))
(line (pt 200 112)(pt 184 112))
)
(port
(pt 200 128)
(output)
(text "pin_control_oe" (rect 0 0 83 14)(font "Arial" (font_size 8)))
(text "pin_control_oe" (rect 96 123 179 137)(font "Arial" (font_size 8)))
(line (pt 200 128)(pt 184 128))
)
(drawing
(rectangle (rect 16 16 184 176))
)
/trunk/cpu/control/clk_delay.v
14,7 → 14,7
 
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED "Sun Nov 16 23:41:11 2014"
// CREATED "Sat Dec 10 08:59:31 2016"
 
module clk_delay(
clk,
31,7 → 31,8
iorq_Tw,
busack,
pin_control_oe,
hold_clk_busrq
hold_clk_busrq,
nhold_clk_wait
);
 
 
50,6 → 51,7
output wire busack;
output wire pin_control_oe;
output wire hold_clk_busrq;
output wire nhold_clk_wait;
 
reg hold_clk_busrq_ALTERA_SYNTHESIZED;
wire SYNTHESIZED_WIRE_6;
60,9 → 62,9
wire SYNTHESIZED_WIRE_3;
wire SYNTHESIZED_WIRE_4;
wire SYNTHESIZED_WIRE_5;
reg DFFE_inst;
reg SYNTHESIZED_WIRE_9;
 
assign hold_clk_wait = DFFE_inst;
assign hold_clk_wait = SYNTHESIZED_WIRE_9;
assign iorq_Tw = DFF_inst5;
 
 
72,12 → 74,12
begin
if (!nreset)
begin
DFFE_inst <= 0;
SYNTHESIZED_WIRE_9 <= 0;
end
else
if (SYNTHESIZED_WIRE_1)
begin
DFFE_inst <= mwait;
SYNTHESIZED_WIRE_9 <= mwait;
end
end
 
146,8 → 148,10
 
assign SYNTHESIZED_WIRE_4 = in_intr & M1 & T1;
 
assign SYNTHESIZED_WIRE_1 = latch_wait | DFFE_inst;
assign SYNTHESIZED_WIRE_1 = latch_wait | SYNTHESIZED_WIRE_9;
 
assign nhold_clk_wait = ~SYNTHESIZED_WIRE_9;
 
assign SYNTHESIZED_WIRE_6 = ~clk;
 
assign hold_clk_busrq = hold_clk_busrq_ALTERA_SYNTHESIZED;
/trunk/cpu/control/decode_state.bdf
245,9 → 245,9
)
(pin
(input)
(rect 40 624 216 640)
(rect 40 608 216 624)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "hold_clk_wait" (rect 9 0 73 12)(font "Arial" ))
(text "nhold_clk_wait" (rect 9 0 79 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
889,7 → 889,7
)
)
(symbol
(rect 312 584 376 632)
(rect 256 584 320 632)
(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
(text "inst6" (rect 3 37 26 49)(font "Arial" ))
(port
920,31 → 920,6
(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
)
)
(symbol
(rect 224 616 272 648)
(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
(text "inst8" (rect 3 21 26 33)(font "Arial" ))
(port
(pt 0 16)
(input)
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(line (pt 0 16)(pt 13 16))
)
(port
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
(line (pt 13 25)(pt 13 7))
(line (pt 13 7)(pt 31 16))
(line (pt 13 25)(pt 31 16))
(circle (rect 31 12 39 20))
)
)
(connector
(pt 376 104)
(pt 440 104)
954,16 → 929,6
(pt 312 112)
)
(connector
(text "clk" (rect 408 104 422 116)(font "Arial" ))
(pt 440 120)
(pt 400 120)
)
(connector
(text "clk" (rect 410 224 424 236)(font "Arial" ))
(pt 440 240)
(pt 400 240)
)
(connector
(pt 536 208)
(pt 552 208)
)
972,16 → 937,6
(pt 552 224)
)
(connector
(text "nreset" (rect 408 160 438 172)(font "Arial" ))
(pt 472 176)
(pt 400 176)
)
(connector
(text "nreset" (rect 406 280 436 292)(font "Arial" ))
(pt 472 296)
(pt 400 296)
)
(connector
(pt 616 216)
(pt 640 216)
)
1030,14 → 985,6
(pt 640 104)
)
(connector
(pt 472 160)
(pt 472 176)
)
(connector
(pt 472 280)
(pt 472 296)
)
(connector
(pt 216 392)
(pt 440 392)
)
1050,16 → 997,6
(pt 320 424)
)
(connector
(text "nreset" (rect 384 456 414 468)(font "Arial" ))
(pt 472 472)
(pt 376 472)
)
(connector
(text "clk" (rect 387 392 401 404)(font "Arial" ))
(pt 440 408)
(pt 376 408)
)
(connector
(pt 216 416)
(pt 256 416)
)
1068,19 → 1005,10
(pt 256 432)
)
(connector
(pt 472 448)
(pt 472 472)
)
(connector
(pt 440 720)
(pt 408 720)
)
(connector
(text "clk" (rect 387 576 401 588)(font "Arial" ))
(pt 440 592)
(pt 376 592)
)
(connector
(text "clk" (rect 384 688 398 700)(font "Arial" ))
(pt 440 704)
(pt 376 704)
1111,11 → 1039,6
(pt 424 648)
)
(connector
(text "nreset" (rect 432 744 462 756)(font "Arial" ))
(pt 424 760)
(pt 472 760)
)
(connector
(pt 504 688)
(pt 536 688)
)
1136,10 → 1059,6
(pt 472 648)
)
(connector
(pt 472 744)
(pt 472 760)
)
(connector
(pt 608 856)
(pt 640 856)
)
1180,15 → 1099,62
(pt 440 688)
)
(connector
(pt 288 616)
(pt 312 616)
)
(connector
(pt 408 608)
(pt 408 720)
)
(connector
(pt 376 608)
(text "nreset" (rect 384 744 414 756)(font "Arial" ))
(pt 472 760)
(pt 376 760)
)
(connector
(pt 472 744)
(pt 472 760)
)
(connector
(text "clk" (rect 392 104 406 116)(font "Arial" ))
(pt 440 120)
(pt 384 120)
)
(connector
(text "nreset" (rect 392 160 422 172)(font "Arial" ))
(pt 472 176)
(pt 384 176)
)
(connector
(pt 472 160)
(pt 472 176)
)
(connector
(text "clk" (rect 394 224 408 236)(font "Arial" ))
(pt 440 240)
(pt 384 240)
)
(connector
(text "nreset" (rect 390 280 420 292)(font "Arial" ))
(pt 472 296)
(pt 384 296)
)
(connector
(pt 472 280)
(pt 472 296)
)
(connector
(text "clk" (rect 395 392 409 404)(font "Arial" ))
(pt 440 408)
(pt 384 408)
)
(connector
(text "nreset" (rect 392 456 422 468)(font "Arial" ))
(pt 472 472)
(pt 384 472)
)
(connector
(pt 472 448)
(pt 472 472)
)
(connector
(pt 320 608)
(pt 408 608)
)
(connector
1197,20 → 1163,17
)
(connector
(pt 216 600)
(pt 312 600)
(pt 256 600)
)
(connector
(pt 224 632)
(pt 216 632)
(pt 216 616)
(pt 256 616)
)
(connector
(pt 288 616)
(pt 288 632)
(text "clk" (rect 387 576 401 588)(font "Arial" ))
(pt 440 592)
(pt 376 592)
)
(connector
(pt 288 632)
(pt 272 632)
)
(junction (pt 312 256))
(junction (pt 256 96))
(junction (pt 536 104))
1229,7 → 1192,7
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "decode_state" (rect 43 2 135 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "August 9, 2014, 2016" (rect 56 3 178 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.4" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.5" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(drawing
)
)
/trunk/cpu/control/decode_state.bsf
82,8 → 82,8
(port
(pt 0 160)
(input)
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 21 155 98 169)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 0 0 84 14)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 21 155 105 169)(font "Arial" (font_size 8)))
(line (pt 0 160)(pt 16 160))
)
(port
/trunk/cpu/control/decode_state.v
14,7 → 14,7
 
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED "Wed Dec 07 00:18:12 2016"
// CREATED "Sat Dec 10 08:55:35 2016"
 
module decode_state(
ctl_state_iy_set,
31,7 → 31,7
in_nmi,
nreset,
ctl_state_tbl_we,
hold_clk_wait,
nhold_clk_wait,
in_halt,
table_cb,
table_ed,
57,7 → 57,7
input wire in_nmi;
input wire nreset;
input wire ctl_state_tbl_we;
input wire hold_clk_wait;
input wire nhold_clk_wait;
output reg in_halt;
output wire table_cb;
output wire table_ed;
73,9 → 73,8
reg DFFE_instED;
reg DFFE_instCB;
wire SYNTHESIZED_WIRE_0;
wire SYNTHESIZED_WIRE_1;
wire SYNTHESIZED_WIRE_5;
wire SYNTHESIZED_WIRE_4;
wire SYNTHESIZED_WIRE_3;
 
assign in_alu = ctl_state_alu;
assign table_cb = DFFE_instCB;
106,13 → 105,11
 
assign SYNTHESIZED_WIRE_0 = ~(ctl_state_iy_set | ctl_state_ixiy_clr);
 
assign SYNTHESIZED_WIRE_5 = ctl_state_tbl_we & SYNTHESIZED_WIRE_1;
assign SYNTHESIZED_WIRE_4 = ctl_state_tbl_we & nhold_clk_wait;
 
assign SYNTHESIZED_WIRE_4 = in_nmi | in_intr;
assign SYNTHESIZED_WIRE_3 = in_nmi | in_intr;
 
assign SYNTHESIZED_WIRE_1 = ~hold_clk_wait;
 
 
always@(posedge clk or negedge nreset)
begin
if (!nreset)
120,7 → 117,7
DFFE_instCB <= 0;
end
else
if (SYNTHESIZED_WIRE_5)
if (SYNTHESIZED_WIRE_4)
begin
DFFE_instCB <= ctl_state_tbl_cb_set;
end
134,7 → 131,7
DFFE_instED <= 0;
end
else
if (SYNTHESIZED_WIRE_5)
if (SYNTHESIZED_WIRE_4)
begin
DFFE_instED <= ctl_state_tbl_ed_set;
end
149,7 → 146,7
end
else
begin
in_halt <= ~in_halt & ctl_state_halt_set | in_halt & ~SYNTHESIZED_WIRE_4;
in_halt <= ~in_halt & ctl_state_halt_set | in_halt & ~SYNTHESIZED_WIRE_3;
end
end
 
/trunk/cpu/control/ir.bdf
21,7 → 21,7
(header "graphic" (version "1.4"))
(pin
(input)
(rect 40 88 216 104)
(rect 40 96 216 112)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "ctl_ir_we" (rect 9 0 51 12)(font "Arial" ))
(pt 176 8)
85,9 → 85,9
)
(pin
(input)
(rect 40 120 216 136)
(rect 40 112 216 128)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "hold_clk_wait" (rect 9 0 73 12)(font "Arial" ))
(text "nhold_clk_wait" (rect 9 0 79 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
158,7 → 158,7
(pt 64 24)
(output)
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
(line (pt 53 24)(pt 64 24))
)
(drawing
173,7 → 173,7
)
)
(symbol
(rect 296 80 360 128)
(rect 296 88 360 136)
(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
(text "inst5" (rect 3 37 26 49)(font "Arial" ))
(port
194,7 → 194,7
(pt 64 24)
(output)
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
(line (pt 42 24)(pt 64 24))
)
(drawing
204,31 → 204,6
(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
)
)
(symbol
(rect 232 112 280 144)
(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
(text "inst3" (rect 3 21 26 33)(font "Arial" ))
(port
(pt 0 16)
(input)
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(line (pt 0 16)(pt 13 16))
)
(port
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
(line (pt 13 25)(pt 13 7))
(line (pt 13 7)(pt 31 16))
(line (pt 13 25)(pt 31 16))
(circle (rect 31 12 39 20))
)
)
(connector
(pt 216 56)
(pt 392 56)
244,10 → 219,6
(bus)
)
(connector
(pt 392 88)
(pt 376 88)
)
(connector
(pt 424 160)
(pt 216 160)
)
256,42 → 227,34
(pt 424 160)
)
(connector
(pt 216 128)
(pt 232 128)
(pt 392 88)
(pt 376 88)
)
(connector
(pt 376 88)
(pt 376 104)
(pt 376 112)
)
(connector
(pt 376 104)
(pt 360 104)
(pt 376 112)
(pt 360 112)
)
(connector
(pt 216 96)
(pt 296 96)
(pt 216 104)
(pt 296 104)
)
(connector
(pt 280 128)
(pt 288 128)
(pt 216 120)
(pt 296 120)
)
(connector
(pt 296 112)
(pt 288 112)
)
(connector
(pt 288 112)
(pt 288 128)
)
(text "8 latches implement the opcode Instruction Register" (rect 328 216 619 230)(font "Arial" (font_size 8)))
(title_block
(rect 40 216 297 268)
(name "title-custom-small")
(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "ir" (rect 43 2 52 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "May 3, 2014, 2016" (rect 56 3 161 17)(font "Arial" (font_size 8)))(border))
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "ir" (rect 43 2 52 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.4" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.5" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(drawing
)
)
/trunk/cpu/control/ir.bsf
20,7 → 20,7
*/
(header "symbol" (version "1.2"))
(symbol
(rect 16 16 216 144)
(rect 16 16 224 144)
(text "ir" (rect 5 0 12 14)(font "Arial" (font_size 8)))
(text "inst" (rect 8 112 25 124)(font "Arial" ))
(port
47,8 → 47,8
(port
(pt 0 80)
(input)
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 21 75 98 89)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 0 0 84 14)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 21 75 105 89)(font "Arial" (font_size 8)))
(line (pt 0 80)(pt 16 80))
)
(port
59,13 → 59,13
(line (pt 0 96)(pt 16 96))
)
(port
(pt 200 32)
(pt 208 32)
(output)
(text "opcode[7..0]" (rect 0 0 70 14)(font "Arial" (font_size 8)))
(text "opcode[7..0]" (rect 109 27 179 41)(font "Arial" (font_size 8)))
(line (pt 200 32)(pt 184 32)(line_width 3))
(text "opcode[7..0]" (rect 117 27 187 41)(font "Arial" (font_size 8)))
(line (pt 208 32)(pt 192 32)(line_width 3))
)
(drawing
(rectangle (rect 16 16 184 112))
(rectangle (rect 16 16 192 112))
)
)
/trunk/cpu/control/ir.v
14,13 → 14,13
 
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED "Fri Feb 26 22:23:08 2016"
// CREATED "Sat Dec 10 08:56:46 2016"
 
module ir(
ctl_ir_we,
clk,
nreset,
hold_clk_wait,
nhold_clk_wait,
db,
opcode
);
29,21 → 29,18
input wire ctl_ir_we;
input wire clk;
input wire nreset;
input wire hold_clk_wait;
input wire nhold_clk_wait;
input wire [7:0] db;
output reg [7:0] opcode;
 
wire SYNTHESIZED_WIRE_0;
wire SYNTHESIZED_WIRE_1;
 
 
 
 
assign SYNTHESIZED_WIRE_0 = ~hold_clk_wait;
assign SYNTHESIZED_WIRE_0 = ctl_ir_we & nhold_clk_wait;
 
assign SYNTHESIZED_WIRE_1 = ctl_ir_we & SYNTHESIZED_WIRE_0;
 
 
always@(posedge clk or negedge nreset)
begin
if (!nreset)
51,7 → 48,7
opcode[7:0] <= 8'b00000000;
end
else
if (SYNTHESIZED_WIRE_1)
if (SYNTHESIZED_WIRE_0)
begin
opcode[7:0] <= db[7:0];
end
/trunk/cpu/control/memory_ifc.bdf
215,7 → 215,7
(input)
(rect 32 1496 208 1512)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "hold_clk_wait" (rect 9 0 73 12)(font "Arial" ))
(text "nhold_clk_wait" (rect 9 0 79 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
2144,31 → 2144,6
)
)
(symbol
(rect 216 1488 264 1520)
(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
(text "inst4" (rect 3 21 26 33)(font "Arial" ))
(port
(pt 0 16)
(input)
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(line (pt 0 16)(pt 13 16))
)
(port
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
(line (pt 13 25)(pt 13 7))
(line (pt 13 7)(pt 31 16))
(line (pt 13 25)(pt 31 16))
(circle (rect 31 12 39 20))
)
)
(symbol
(rect 720 168 784 216)
(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
(text "inst41" (rect 3 37 32 49)(font "Arial" ))
2553,15 → 2528,7
(pt 296 1416)
)
(connector
(pt 208 1504)
(pt 216 1504)
)
(connector
(pt 264 1504)
(pt 392 1504)
)
(connector
(pt 392 1504)
(pt 392 1448)
)
(connector
3570,6 → 3537,10
(pt 376 1856)
(pt 688 1856)
)
(connector
(pt 208 1504)
(pt 392 1504)
)
(junction (pt 248 144))
(junction (pt 272 320))
(junction (pt 416 304))
3650,8 → 3621,8
(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "memory_ifc" (rect 43 2 123 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "November 1, 2014" (rect 56 3 159 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.1" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "November 1, 2014, 2016" (rect 56 3 195 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.2" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(drawing
)
)
/trunk/cpu/control/memory_ifc.bsf
20,7 → 20,7
*/
(header "symbol" (version "1.2"))
(symbol
(rect 16 16 216 272)
(rect 16 16 224 272)
(text "memory_ifc" (rect 5 0 71 14)(font "Arial" (font_size 8)))
(text "inst" (rect 8 240 25 252)(font "Arial" ))
(port
110,67 → 110,67
(port
(pt 0 224)
(input)
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 21 219 98 233)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 0 0 84 14)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 21 219 105 233)(font "Arial" (font_size 8)))
(line (pt 0 224)(pt 16 224))
)
(port
(pt 200 32)
(pt 208 32)
(output)
(text "nRFSH_out" (rect 0 0 63 14)(font "Arial" (font_size 8)))
(text "nRFSH_out" (rect 116 27 179 41)(font "Arial" (font_size 8)))
(line (pt 200 32)(pt 184 32))
(text "nRFSH_out" (rect 124 27 187 41)(font "Arial" (font_size 8)))
(line (pt 208 32)(pt 192 32))
)
(port
(pt 200 48)
(pt 208 48)
(output)
(text "nM1_out" (rect 0 0 48 14)(font "Arial" (font_size 8)))
(text "nM1_out" (rect 131 43 179 57)(font "Arial" (font_size 8)))
(line (pt 200 48)(pt 184 48))
(text "nM1_out" (rect 139 43 187 57)(font "Arial" (font_size 8)))
(line (pt 208 48)(pt 192 48))
)
(port
(pt 200 64)
(pt 208 64)
(output)
(text "nMREQ_out" (rect 0 0 66 14)(font "Arial" (font_size 8)))
(text "nMREQ_out" (rect 113 59 179 73)(font "Arial" (font_size 8)))
(line (pt 200 64)(pt 184 64))
(text "nMREQ_out" (rect 121 59 187 73)(font "Arial" (font_size 8)))
(line (pt 208 64)(pt 192 64))
)
(port
(pt 200 80)
(pt 208 80)
(output)
(text "wait_m1" (rect 0 0 48 14)(font "Arial" (font_size 8)))
(text "wait_m1" (rect 131 75 179 89)(font "Arial" (font_size 8)))
(line (pt 200 80)(pt 184 80))
(text "wait_m1" (rect 139 75 187 89)(font "Arial" (font_size 8)))
(line (pt 208 80)(pt 192 80))
)
(port
(pt 200 96)
(pt 208 96)
(output)
(text "nRD_out" (rect 0 0 48 14)(font "Arial" (font_size 8)))
(text "nRD_out" (rect 131 91 179 105)(font "Arial" (font_size 8)))
(line (pt 200 96)(pt 184 96))
(text "nRD_out" (rect 139 91 187 105)(font "Arial" (font_size 8)))
(line (pt 208 96)(pt 192 96))
)
(port
(pt 200 112)
(pt 208 112)
(output)
(text "nWR_out" (rect 0 0 51 14)(font "Arial" (font_size 8)))
(text "nWR_out" (rect 128 107 179 121)(font "Arial" (font_size 8)))
(line (pt 200 112)(pt 184 112))
(text "nWR_out" (rect 136 107 187 121)(font "Arial" (font_size 8)))
(line (pt 208 112)(pt 192 112))
)
(port
(pt 200 128)
(pt 208 128)
(output)
(text "nIORQ_out" (rect 0 0 61 14)(font "Arial" (font_size 8)))
(text "nIORQ_out" (rect 118 123 179 137)(font "Arial" (font_size 8)))
(line (pt 200 128)(pt 184 128))
(text "nIORQ_out" (rect 126 123 187 137)(font "Arial" (font_size 8)))
(line (pt 208 128)(pt 192 128))
)
(port
(pt 200 144)
(pt 208 144)
(output)
(text "latch_wait" (rect 0 0 59 14)(font "Arial" (font_size 8)))
(text "latch_wait" (rect 120 139 179 153)(font "Arial" (font_size 8)))
(line (pt 200 144)(pt 184 144))
(text "latch_wait" (rect 128 139 187 153)(font "Arial" (font_size 8)))
(line (pt 208 144)(pt 192 144))
)
(drawing
(rectangle (rect 16 16 184 240))
(rectangle (rect 16 16 192 240))
)
)
/trunk/cpu/control/memory_ifc.v
14,7 → 14,7
 
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED "Sun Dec 04 01:04:33 2016"
// CREATED "Sat Dec 10 09:02:54 2016"
 
module memory_ifc(
clk,
29,7 → 29,7
ctl_iorw,
timings_en,
iorq_Tw,
hold_clk_wait,
nhold_clk_wait,
nM1_out,
nRFSH_out,
nMREQ_out,
53,7 → 53,7
input wire ctl_iorw;
input wire timings_en;
input wire iorq_Tw;
input wire hold_clk_wait;
input wire nhold_clk_wait;
output wire nM1_out;
output wire nRFSH_out;
output wire nMREQ_out;
82,17 → 82,16
wire SYNTHESIZED_WIRE_0;
reg DFFE_m1_ff3;
wire SYNTHESIZED_WIRE_1;
reg SYNTHESIZED_WIRE_15;
reg DFFE_iorq_ff4;
reg SYNTHESIZED_WIRE_16;
reg DFFE_iorq_ff4;
reg SYNTHESIZED_WIRE_17;
reg DFFE_mrd_ff3;
reg DFFE_intr_ff3;
wire SYNTHESIZED_WIRE_2;
reg SYNTHESIZED_WIRE_17;
wire SYNTHESIZED_WIRE_3;
reg SYNTHESIZED_WIRE_18;
wire SYNTHESIZED_WIRE_3;
reg SYNTHESIZED_WIRE_19;
wire SYNTHESIZED_WIRE_20;
wire SYNTHESIZED_WIRE_5;
wire SYNTHESIZED_WIRE_19;
reg DFFE_iorq_ff1;
reg DFFE_m1_ff1;
reg DFFE_mrd_ff1;
110,7 → 109,7
 
assign m1_mreq = ~(in_intr | SYNTHESIZED_WIRE_1);
 
assign iorq = SYNTHESIZED_WIRE_16 | DFFE_iorq_ff4 | SYNTHESIZED_WIRE_17;
assign iorq = SYNTHESIZED_WIRE_15 | DFFE_iorq_ff4 | SYNTHESIZED_WIRE_16;
 
assign ioWrite = iorq & fIOWrite;
 
128,18 → 127,16
 
assign nIORQ_out = ~(intr_iorq | iorq);
 
assign SYNTHESIZED_WIRE_5 = ~hold_clk_wait;
 
assign intr_iorq = DFFE_intr_ff3 | wait_iorq;
 
assign nM1_out = SYNTHESIZED_WIRE_2 | SYNTHESIZED_WIRE_18;
assign nM1_out = SYNTHESIZED_WIRE_2 | SYNTHESIZED_WIRE_17;
 
assign SYNTHESIZED_WIRE_0 = ~(SYNTHESIZED_WIRE_3 & SYNTHESIZED_WIRE_19);
assign SYNTHESIZED_WIRE_0 = ~(SYNTHESIZED_WIRE_3 & SYNTHESIZED_WIRE_18);
 
assign nRFSH_out = ~(nq2 & SYNTHESIZED_WIRE_18);
assign nRFSH_out = ~(nq2 & SYNTHESIZED_WIRE_17);
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
159,7 → 156,7
DFFE_intr_ff3 <= 0;
end
else
if (SYNTHESIZED_WIRE_5)
if (nhold_clk_wait)
begin
DFFE_intr_ff3 <= wait_iorq;
end
184,31 → 181,31
begin
if (!nreset)
begin
SYNTHESIZED_WIRE_17 <= 0;
SYNTHESIZED_WIRE_16 <= 0;
end
else
if (timings_en)
begin
SYNTHESIZED_WIRE_17 <= DFFE_iorq_ff1;
SYNTHESIZED_WIRE_16 <= DFFE_iorq_ff1;
end
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
SYNTHESIZED_WIRE_16 <= 0;
SYNTHESIZED_WIRE_15 <= 0;
end
else
if (timings_en)
begin
SYNTHESIZED_WIRE_16 <= SYNTHESIZED_WIRE_17;
SYNTHESIZED_WIRE_15 <= SYNTHESIZED_WIRE_16;
end
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
217,7 → 214,7
else
if (timings_en)
begin
DFFE_iorq_ff4 <= SYNTHESIZED_WIRE_16;
DFFE_iorq_ff4 <= SYNTHESIZED_WIRE_15;
end
end
 
226,17 → 223,17
begin
if (!nreset)
begin
SYNTHESIZED_WIRE_18 <= 0;
SYNTHESIZED_WIRE_17 <= 0;
end
else
if (timings_en)
begin
SYNTHESIZED_WIRE_18 <= nM1_int;
SYNTHESIZED_WIRE_17 <= nM1_int;
end
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
250,7 → 247,7
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
292,7 → 289,7
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
306,7 → 303,7
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
320,21 → 317,21
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
SYNTHESIZED_WIRE_19 <= 0;
SYNTHESIZED_WIRE_18 <= 0;
end
else
if (timings_en)
begin
SYNTHESIZED_WIRE_19 <= SYNTHESIZED_WIRE_18;
SYNTHESIZED_WIRE_18 <= SYNTHESIZED_WIRE_17;
end
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
343,7 → 340,7
else
if (timings_en)
begin
DFFE_mreq_ff2 <= SYNTHESIZED_WIRE_19;
DFFE_mreq_ff2 <= SYNTHESIZED_WIRE_18;
end
end
 
362,7 → 359,7
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
376,7 → 373,7
end
 
 
always@(posedge SYNTHESIZED_WIRE_20 or negedge nreset)
always@(posedge SYNTHESIZED_WIRE_19 or negedge nreset)
begin
if (!nreset)
begin
389,7 → 386,7
end
end
 
assign SYNTHESIZED_WIRE_20 = ~clk;
assign SYNTHESIZED_WIRE_19 = ~clk;
 
assign nq2 = ~q2;
 
407,7 → 404,7
else
if (timings_en)
begin
q1 <= SYNTHESIZED_WIRE_18;
q1 <= SYNTHESIZED_WIRE_17;
end
end
 
/trunk/cpu/control/resets.bdf
101,9 → 101,9
)
(pin
(input)
(rect 32 640 208 656)
(rect 32 632 208 648)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "hold_clk_wait" (rect 9 0 73 12)(font "Arial" ))
(text "nhold_clk_wait" (rect 9 0 79 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
641,31 → 641,6
)
)
(symbol
(rect 216 632 264 664)
(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
(text "inst4" (rect 3 21 26 33)(font "Arial" ))
(port
(pt 0 16)
(input)
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(line (pt 0 16)(pt 13 16))
)
(port
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
(line (pt 13 25)(pt 13 7))
(line (pt 13 7)(pt 31 16))
(line (pt 13 25)(pt 31 16))
(circle (rect 31 12 39 20))
)
)
(symbol
(rect 296 520 360 600)
(text "DFFE" (rect 1 0 25 10)(font "Arial" (font_size 6)))
(text "intr_ff4" (rect 3 68 39 80)(font "Arial" ))
978,22 → 953,10
(pt 776 496)
)
(connector
(pt 712 296)
(pt 712 336)
)
(connector
(pt 712 336)
(pt 712 424)
)
(connector
(pt 232 320)
(pt 232 352)
)
(connector
(pt 208 648)
(pt 216 648)
)
(connector
(pt 296 560)
(pt 264 560)
)
1007,14 → 970,6
(pt 264 616)
)
(connector
(pt 712 424)
(pt 264 424)
)
(connector
(pt 264 424)
(pt 264 544)
)
(connector
(pt 296 544)
(pt 264 544)
)
1075,8 → 1030,8
(pt 520 544)
)
(connector
(pt 504 648)
(pt 504 576)
(pt 504 640)
)
(connector
(pt 520 576)
1088,28 → 1043,44
)
(connector
(pt 392 576)
(pt 392 648)
(pt 392 640)
)
(connector
(pt 392 648)
(pt 504 648)
)
(connector
(pt 296 576)
(pt 280 576)
)
(connector
(pt 280 576)
(pt 280 648)
(pt 280 640)
)
(connector
(pt 264 648)
(pt 280 648)
(pt 392 640)
(pt 504 640)
)
(connector
(pt 280 648)
(pt 392 648)
(pt 208 640)
(pt 280 640)
)
(connector
(pt 280 640)
(pt 392 640)
)
(connector
(pt 712 432)
(pt 264 432)
)
(connector
(pt 264 544)
(pt 264 432)
)
(connector
(pt 712 296)
(pt 712 336)
)
(connector
(pt 712 336)
(pt 712 432)
)
(junction (pt 232 144))
(junction (pt 368 96))
(junction (pt 336 272))
1123,8 → 1094,8
(junction (pt 376 616))
(junction (pt 376 544))
(junction (pt 488 544))
(junction (pt 392 648))
(junction (pt 280 648))
(junction (pt 392 640))
(junction (pt 280 640))
(text "Needed only for FPGAs" (rect 40 72 174 86)(font "Arial" (font_size 8)))
(text "Special reset, USPTO 4,486,827 by Shima et al." (rect 40 24 371 40)(font "Arial" (font_size 10))(border))
(text "Required 3 clock reset cycles to clear PC and IR" (rect 304 464 576 478)(font "Arial" (font_size 8)))
1133,11 → 1104,11
(title_block
(rect 696 584 953 636)
(name "title-custom-small")
(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "resets" (rect 43 2 86 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "September 6, 2014, 2016" (rect 56 3 198 17)(font "Arial" (font_size 8)))(border))
(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "resets" (rect 43 2 86 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.4" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.5" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
(drawing
)
)
/trunk/cpu/control/resets.bsf
20,7 → 20,7
*/
(header "symbol" (version "1.2"))
(symbol
(rect 16 16 184 176)
(rect 16 16 192 176)
(text "resets" (rect 5 0 41 14)(font "Arial" (font_size 8)))
(text "inst" (rect 8 144 25 156)(font "Arial" ))
(port
61,25 → 61,25
(port
(pt 0 112)
(input)
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 21 107 98 121)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 0 0 84 14)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 21 107 105 121)(font "Arial" (font_size 8)))
(line (pt 0 112)(pt 16 112))
)
(port
(pt 168 32)
(pt 176 32)
(output)
(text "nreset" (rect 0 0 36 14)(font "Arial" (font_size 8)))
(text "nreset" (rect 111 27 147 41)(font "Arial" (font_size 8)))
(line (pt 168 32)(pt 152 32))
(text "nreset" (rect 119 27 155 41)(font "Arial" (font_size 8)))
(line (pt 176 32)(pt 160 32))
)
(port
(pt 168 48)
(pt 176 48)
(output)
(text "clrpc" (rect 0 0 28 14)(font "Arial" (font_size 8)))
(text "clrpc" (rect 119 43 147 57)(font "Arial" (font_size 8)))
(line (pt 168 48)(pt 152 48))
(text "clrpc" (rect 127 43 155 57)(font "Arial" (font_size 8)))
(line (pt 176 48)(pt 160 48))
)
(drawing
(rectangle (rect 16 16 152 144))
(rectangle (rect 16 16 160 144))
)
)
/trunk/cpu/control/resets.v
14,7 → 14,7
 
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED "Thu Dec 08 21:08:44 2016"
// CREATED "Sat Dec 10 08:57:54 2016"
 
module resets(
reset_in,
22,7 → 22,7
M1,
T2,
fpga_reset,
hold_clk_wait,
nhold_clk_wait,
clrpc,
nreset
);
33,7 → 33,7
input wire M1;
input wire T2;
input wire fpga_reset;
input wire hold_clk_wait;
input wire nhold_clk_wait;
output wire clrpc;
output wire nreset;
 
42,25 → 42,24
reg x1;
wire x2;
wire x3;
wire SYNTHESIZED_WIRE_11;
wire SYNTHESIZED_WIRE_8;
wire SYNTHESIZED_WIRE_1;
reg SYNTHESIZED_WIRE_12;
reg SYNTHESIZED_WIRE_9;
reg DFFE_intr_ff3;
reg SYNTHESIZED_WIRE_13;
wire SYNTHESIZED_WIRE_14;
reg SYNTHESIZED_WIRE_10;
wire SYNTHESIZED_WIRE_11;
wire SYNTHESIZED_WIRE_3;
reg SYNTHESIZED_WIRE_15;
wire SYNTHESIZED_WIRE_16;
wire SYNTHESIZED_WIRE_9;
reg SYNTHESIZED_WIRE_12;
wire SYNTHESIZED_WIRE_6;
 
assign nreset = SYNTHESIZED_WIRE_9;
assign nreset = SYNTHESIZED_WIRE_6;
 
 
 
 
always@(posedge nclk or negedge SYNTHESIZED_WIRE_11)
always@(posedge nclk or negedge SYNTHESIZED_WIRE_8)
begin
if (!SYNTHESIZED_WIRE_11)
if (!SYNTHESIZED_WIRE_8)
begin
x1 <= 1;
end
70,32 → 69,30
end
end
 
assign clrpc = clrpc_int | SYNTHESIZED_WIRE_12 | DFFE_intr_ff3 | SYNTHESIZED_WIRE_13;
assign clrpc = clrpc_int | SYNTHESIZED_WIRE_9 | DFFE_intr_ff3 | SYNTHESIZED_WIRE_10;
 
assign SYNTHESIZED_WIRE_1 = ~reset_in;
 
assign x2 = x1 & SYNTHESIZED_WIRE_14;
assign x2 = x1 & SYNTHESIZED_WIRE_11;
 
assign SYNTHESIZED_WIRE_14 = M1 & T2;
assign SYNTHESIZED_WIRE_11 = M1 & T2;
 
assign x3 = x1 & SYNTHESIZED_WIRE_3;
 
assign SYNTHESIZED_WIRE_9 = ~SYNTHESIZED_WIRE_15;
assign SYNTHESIZED_WIRE_6 = ~SYNTHESIZED_WIRE_12;
 
assign SYNTHESIZED_WIRE_16 = ~hold_clk_wait;
assign SYNTHESIZED_WIRE_3 = ~SYNTHESIZED_WIRE_11;
 
assign SYNTHESIZED_WIRE_3 = ~SYNTHESIZED_WIRE_14;
 
assign nclk = ~clk;
 
assign SYNTHESIZED_WIRE_11 = ~fpga_reset;
assign SYNTHESIZED_WIRE_8 = ~fpga_reset;
 
 
always@(posedge nclk)
begin
if (SYNTHESIZED_WIRE_16)
if (nhold_clk_wait)
begin
DFFE_intr_ff3 <= SYNTHESIZED_WIRE_12;
DFFE_intr_ff3 <= SYNTHESIZED_WIRE_9;
end
end
 
102,9 → 99,9
 
always@(posedge nclk)
begin
if (SYNTHESIZED_WIRE_16)
if (nhold_clk_wait)
begin
SYNTHESIZED_WIRE_13 <= SYNTHESIZED_WIRE_15;
SYNTHESIZED_WIRE_10 <= SYNTHESIZED_WIRE_12;
end
end
 
111,35 → 108,35
 
always@(posedge nclk)
begin
if (SYNTHESIZED_WIRE_16)
if (nhold_clk_wait)
begin
SYNTHESIZED_WIRE_12 <= SYNTHESIZED_WIRE_13;
SYNTHESIZED_WIRE_9 <= SYNTHESIZED_WIRE_10;
end
end
 
 
always@(posedge clk or negedge SYNTHESIZED_WIRE_11)
always@(posedge clk or negedge SYNTHESIZED_WIRE_8)
begin
if (!SYNTHESIZED_WIRE_11)
if (!SYNTHESIZED_WIRE_8)
begin
SYNTHESIZED_WIRE_15 <= 1;
SYNTHESIZED_WIRE_12 <= 1;
end
else
begin
SYNTHESIZED_WIRE_15 <= x3;
SYNTHESIZED_WIRE_12 <= x3;
end
end
 
 
always@(posedge nclk or negedge SYNTHESIZED_WIRE_9)
always@(posedge nclk or negedge SYNTHESIZED_WIRE_6)
begin
if (!SYNTHESIZED_WIRE_9)
if (!SYNTHESIZED_WIRE_6)
begin
clrpc_int <= 0;
end
else
begin
clrpc_int <= ~clrpc_int & x2 | clrpc_int & ~SYNTHESIZED_WIRE_14;
clrpc_int <= ~clrpc_int & x2 | clrpc_int & ~SYNTHESIZED_WIRE_11;
end
end
 
/trunk/cpu/control/simulation/modelsim/wave_reset.do
6,7 → 6,7
add wave -noupdate /test_reset/M1
add wave -noupdate /test_reset/T2
add wave -noupdate -color Gold /test_reset/clrpc
add wave -noupdate /test_reset/reset_block/hold_clk_wait
add wave -noupdate /test_reset/reset_block/nhold_clk_wait
add wave -noupdate /test_reset/nreset
add wave -noupdate -color {Cadet Blue} /test_reset/reset_block/x1
add wave -noupdate -color {Cadet Blue} /test_reset/reset_block/x2
/trunk/cpu/control/test_reset.sv
23,10 → 23,10
logic T2 = 0;
 
wire clrpc; // Load 0 to PC
wire hold_clk_wait; // Hold clrpc
wire nhold_clk_wait; // Hold clrpc
wire nreset; // Internal inverted reset signal
 
assign hold_clk_wait = 0; // Will not test this case
assign nhold_clk_wait = 1; // Will not test this case
 
// ----------------- TEST -------------------
initial begin
/trunk/cpu/registers/reg_control.bdf
343,7 → 343,7
(input)
(rect 32 848 208 864)
(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
(text "hold_clk_wait" (rect 9 0 73 12)(font "Arial" ))
(text "nhold_clk_wait" (rect 9 0 79 12)(font "Arial" ))
(pt 176 8)
(drawing
(line (pt 92 12)(pt 117 12))
2498,31 → 2498,6
(circle (rect 28 4 36 12))
)
)
(symbol
(rect 328 840 376 872)
(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
(text "inst7" (rect 3 21 26 33)(font "Arial" ))
(port
(pt 0 16)
(input)
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
(line (pt 0 16)(pt 13 16))
)
(port
(pt 48 16)
(output)
(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
(line (pt 39 16)(pt 48 16))
)
(drawing
(line (pt 13 25)(pt 13 7))
(line (pt 13 7)(pt 31 16))
(line (pt 13 25)(pt 31 16))
(circle (rect 31 12 39 20))
)
)
(connector
(pt 616 680)
(pt 600 680)
3575,10 → 3550,6
(pt 312 496)
)
(connector
(pt 208 856)
(pt 328 856)
)
(connector
(pt 312 496)
(pt 312 800)
)
3591,24 → 3562,23
(pt 528 856)
)
(connector
(pt 208 856)
(pt 528 856)
(pt 680 856)
)
(connector
(text "n_hold_clk_wait" (rect 400 840 476 852)(font "Arial" ))
(pt 376 856)
(pt 528 856)
(pt 680 856)
)
(connector
(text "n_hold_clk_wait" (rect 607 544 683 556)(font "Arial" ))
(text "nhold_clk_wait" (rect 608 432 678 444)(font "Arial" ))
(pt 680 432)
(pt 656 432)
)
(connector
(text "nhold_clk_wait" (rect 607 544 677 556)(font "Arial" ))
(pt 680 544)
(pt 656 544)
)
(connector
(text "n_hold_clk_wait" (rect 608 432 684 444)(font "Arial" ))
(pt 680 432)
(pt 656 432)
)
(junction (pt 600 624))
(junction (pt 264 312))
(junction (pt 264 632))
3690,7 → 3660,7
(section (rect 130 0 320 20)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "reg_control" (rect 43 2 146 21)(font "Arial" (font_size 12)(bold)))(border))
(section (rect 0 21 320 40)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 151 19)(font "Arial" (font_size 11)))(border))
(section (rect 0 41 240 60)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "May 17, 2014, 2016" (rect 56 3 191 19)(font "Arial" (font_size 10)))(border))
(section (rect 241 41 320 60)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.4" (rect 43 3 64 19)(font "Arial" (font_size 10)))(border))
(section (rect 241 41 320 60)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.5" (rect 43 3 64 19)(font "Arial" (font_size 10)))(border))
(drawing
)
)
/trunk/cpu/registers/reg_control.bsf
96,8 → 96,8
(port
(pt 0 192)
(input)
(text "hold_clk_wait" (rect 0 0 77 14)(font "Arial" (font_size 8)))
(text "hold_clk_wait" (rect 21 187 98 201)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 0 0 84 14)(font "Arial" (font_size 8)))
(text "nhold_clk_wait" (rect 21 187 105 201)(font "Arial" (font_size 8)))
(line (pt 0 192)(pt 16 192))
)
(port
/trunk/cpu/registers/reg_control.v
14,7 → 14,7
 
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED "Thu Dec 08 22:19:25 2016"
// CREATED "Sat Dec 10 09:05:10 2016"
 
module reg_control(
ctl_reg_exx,
34,7 → 34,7
ctl_reg_sys_we,
clk,
ctl_sw_4d,
hold_clk_wait,
nhold_clk_wait,
ctl_reg_gp_hilo,
ctl_reg_gp_sel,
ctl_reg_sys_hilo,
81,7 → 81,7
input wire ctl_reg_sys_we;
input wire clk;
input wire ctl_sw_4d;
input wire hold_clk_wait;
input wire nhold_clk_wait;
input wire [1:0] ctl_reg_gp_hilo;
input wire [1:0] ctl_reg_gp_sel;
input wire [1:0] ctl_reg_sys_hilo;
113,7 → 113,6
reg bank_exx;
reg bank_hl_de1;
reg bank_hl_de2;
wire n_hold_clk_wait;
wire reg_sys_we_lo_ALTERA_SYNTHESIZED;
wire SYNTHESIZED_WIRE_52;
wire SYNTHESIZED_WIRE_53;
243,7 → 242,7
bank_af <= 0;
end
else
if (n_hold_clk_wait)
if (nhold_clk_wait)
begin
bank_af <= bank_af ^ ctl_reg_ex_af;
end
273,7 → 272,7
bank_hl_de2 <= 0;
end
else
if (n_hold_clk_wait)
if (nhold_clk_wait)
begin
bank_hl_de2 <= bank_hl_de2 ^ SYNTHESIZED_WIRE_43;
end
293,7 → 292,7
bank_hl_de1 <= 0;
end
else
if (n_hold_clk_wait)
if (nhold_clk_wait)
begin
bank_hl_de1 <= bank_hl_de1 ^ SYNTHESIZED_WIRE_50;
end
307,7 → 306,7
bank_exx <= 0;
end
else
if (n_hold_clk_wait)
if (nhold_clk_wait)
begin
bank_exx <= bank_exx ^ ctl_reg_exx;
end
319,8 → 318,6
 
assign SYNTHESIZED_WIRE_31 = ~ctl_reg_gp_sel[1];
 
assign n_hold_clk_wait = ~hold_clk_wait;
 
assign reg_sel_bc2 = SYNTHESIZED_WIRE_52 & bank_exx;
 
assign reg_sys_we_lo = reg_sys_we_lo_ALTERA_SYNTHESIZED;
/trunk/cpu/registers/test_registers.sv
49,7 → 49,7
logic ctl_reg_sys_we_sig=0; // Write to system register
logic use_ixiy_sig=0; // Use IX or IY
logic use_ix_sig=0; // Use IX and not IY
logic hold_clk_wait_sig=0; // Hold all transitions
logic nhold_clk_wait_sig=1; // Enable transitions due to nWAIT
 
logic ctl_reg_exx_sig=0; // Exchange register banks
logic ctl_reg_ex_af_sig=0; // Exchange AF banks
183,7 → 183,7
.ctl_reg_sys_we(ctl_reg_sys_we_sig) , // input ctl_reg_sys_we_sig
.clk(clk) , // input clk
.ctl_sw_4d (ctl_sw_4d_sig) , // input ctl_sw_4d
.hold_clk_wait(hold_clk_wait_sig) , // input hold_clk_wait_sig
.nhold_clk_wait(nhold_clk_wait_sig) , // input nhold_clk_wait_sig
.reg_sel_bc(reg_sel_bc_sig) , // output reg_sel_bc_sig
.reg_sel_bc2(reg_sel_bc2_sig) , // output reg_sel_bc2_sig
.reg_sel_ix(reg_sel_ix_sig) , // output reg_sel_ix_sig
/trunk/cpu/toplevel/coremodules.vh
15,7 → 15,8
.iorq_Tw (iorq_Tw),
.busack (busack),
.pin_control_oe (pin_control_oe),
.hold_clk_busrq (hold_clk_busrq)
.hold_clk_busrq (hold_clk_busrq),
.nhold_clk_wait (nhold_clk_wait)
);
 
decode_state decode_state_(
33,7 → 34,7
.in_nmi (in_nmi),
.nreset (nreset),
.ctl_state_tbl_we (ctl_state_tbl_we),
.hold_clk_wait (hold_clk_wait),
.nhold_clk_wait (nhold_clk_wait),
.in_halt (in_halt),
.table_cb (table_cb),
.table_ed (table_ed),
201,7 → 202,7
.ctl_ir_we (ctl_ir_we),
.clk (clk),
.nreset (nreset),
.hold_clk_wait (hold_clk_wait),
.nhold_clk_wait (nhold_clk_wait),
.db (db0[7:0]),
.opcode (opcode)
);
233,7 → 234,7
.M1 (M1),
.T2 (T2),
.fpga_reset (fpga_reset),
.hold_clk_wait (hold_clk_wait),
.nhold_clk_wait (nhold_clk_wait),
.clrpc (clrpc),
.nreset (nreset)
);
251,7 → 252,7
.ctl_iorw (ctl_iorw),
.timings_en (timings_en),
.iorq_Tw (iorq_Tw),
.hold_clk_wait (hold_clk_wait),
.nhold_clk_wait (nhold_clk_wait),
.nM1_out (nM1_out),
.nRFSH_out (nRFSH_out),
.nMREQ_out (nMREQ_out),
391,7 → 392,7
.clk (clk),
.ctl_flags_cf2_sel_shift (ctl_flags_cf2_sel_shift),
.ctl_flags_cf2_sel_daa (ctl_flags_cf2_sel_daa),
.hold_clk_wait (hold_clk_wait),
.nhold_clk_wait (nhold_clk_wait),
.flags_sf (flags_sf),
.flags_zf (flags_zf),
.flags_hf (flags_hf),
500,7 → 501,7
.ctl_reg_sys_we (ctl_reg_sys_we),
.clk (clk),
.ctl_sw_4d (ctl_sw_4d),
.hold_clk_wait (hold_clk_wait),
.nhold_clk_wait (nhold_clk_wait),
.ctl_reg_gp_hilo (ctl_reg_gp_hilo),
.ctl_reg_gp_sel (ctl_reg_gp_sel),
.ctl_reg_sys_hilo (ctl_reg_sys_hilo),
/trunk/cpu/toplevel/globals.vh
7,6 → 7,7
wire busack;
wire pin_control_oe;
wire hold_clk_busrq;
wire nhold_clk_wait;
 
// Module: control/decode_state.v
wire in_halt;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.