OpenCores
URL https://opencores.org/ocsvn/s80186/s80186/trunk

Subversion Repositories s80186

[/] [s80186/] [trunk/] [rtl/] [microcode/] [CMakeLists.txt] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jamieiles
# Copyright Jamie Iles, 2017
2
#
3
# This file is part of s80x86.
4
#
5
# s80x86 is free software: you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation, either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# s80x86 is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with s80x86.  If not, see .
17
 
18
set(microprogram_sources
19
    ${CMAKE_CURRENT_SOURCE_DIR}/aaa.us
20
    ${CMAKE_CURRENT_SOURCE_DIR}/aad.us
21
    ${CMAKE_CURRENT_SOURCE_DIR}/aas.us
22
    ${CMAKE_CURRENT_SOURCE_DIR}/adc.us
23
    ${CMAKE_CURRENT_SOURCE_DIR}/add.us
24
    ${CMAKE_CURRENT_SOURCE_DIR}/and.us
25
    ${CMAKE_CURRENT_SOURCE_DIR}/bound.us
26
    ${CMAKE_CURRENT_SOURCE_DIR}/daa.us
27
    ${CMAKE_CURRENT_SOURCE_DIR}/das.us
28
    ${CMAKE_CURRENT_SOURCE_DIR}/arithmetic.us
29
    ${CMAKE_CURRENT_SOURCE_DIR}/call.us
30
    ${CMAKE_CURRENT_SOURCE_DIR}/comparison.us
31
    ${CMAKE_CURRENT_SOURCE_DIR}/cmp.us
32
    ${CMAKE_CURRENT_SOURCE_DIR}/cmps.us
33
    ${CMAKE_CURRENT_SOURCE_DIR}/div.us
34
    ${CMAKE_CURRENT_SOURCE_DIR}/enter.us
35
    ${CMAKE_CURRENT_SOURCE_DIR}/esc.us
36
    ${CMAKE_CURRENT_SOURCE_DIR}/extend.us
37
    ${CMAKE_CURRENT_SOURCE_DIR}/flags.us
38
    ${CMAKE_CURRENT_SOURCE_DIR}/hlt.us
39
    ${CMAKE_CURRENT_SOURCE_DIR}/inc.us
40
    ${CMAKE_CURRENT_SOURCE_DIR}/int.us
41
    ${CMAKE_CURRENT_SOURCE_DIR}/io.us
42
    ${CMAKE_CURRENT_SOURCE_DIR}/jmp.us
43
    ${CMAKE_CURRENT_SOURCE_DIR}/lds.us
44
    ${CMAKE_CURRENT_SOURCE_DIR}/lea.us
45
    ${CMAKE_CURRENT_SOURCE_DIR}/leave.us
46
    ${CMAKE_CURRENT_SOURCE_DIR}/les.us
47
    ${CMAKE_CURRENT_SOURCE_DIR}/lods.us
48
    ${CMAKE_CURRENT_SOURCE_DIR}/loop.us
49
    ${CMAKE_CURRENT_SOURCE_DIR}/mov.us
50
    ${CMAKE_CURRENT_SOURCE_DIR}/movs.us
51
    ${CMAKE_CURRENT_SOURCE_DIR}/mul.us
52
    ${CMAKE_CURRENT_SOURCE_DIR}/neg.us
53
    ${CMAKE_CURRENT_SOURCE_DIR}/not.us
54
    ${CMAKE_CURRENT_SOURCE_DIR}/or.us
55
    ${CMAKE_CURRENT_SOURCE_DIR}/pop.us
56
    ${CMAKE_CURRENT_SOURCE_DIR}/prefixes.us
57
    ${CMAKE_CURRENT_SOURCE_DIR}/push.us
58
    ${CMAKE_CURRENT_SOURCE_DIR}/rcl.us
59
    ${CMAKE_CURRENT_SOURCE_DIR}/rcr.us
60
    ${CMAKE_CURRENT_SOURCE_DIR}/ret.us
61
    ${CMAKE_CURRENT_SOURCE_DIR}/rol.us
62
    ${CMAKE_CURRENT_SOURCE_DIR}/ror.us
63
    ${CMAKE_CURRENT_SOURCE_DIR}/sar.us
64
    ${CMAKE_CURRENT_SOURCE_DIR}/sbb.us
65
    ${CMAKE_CURRENT_SOURCE_DIR}/scas.us
66
    ${CMAKE_CURRENT_SOURCE_DIR}/shift.us
67
    ${CMAKE_CURRENT_SOURCE_DIR}/shl.us
68
    ${CMAKE_CURRENT_SOURCE_DIR}/shr.us
69
    ${CMAKE_CURRENT_SOURCE_DIR}/stos.us
70
    ${CMAKE_CURRENT_SOURCE_DIR}/sub.us
71
    ${CMAKE_CURRENT_SOURCE_DIR}/test.us
72
    ${CMAKE_CURRENT_SOURCE_DIR}/xchg.us
73
    ${CMAKE_CURRENT_SOURCE_DIR}/xlat.us
74
    ${CMAKE_CURRENT_SOURCE_DIR}/xor.us
75
    ${CMAKE_CURRENT_SOURCE_DIR}/wait.us
76
    ${CMAKE_CURRENT_SOURCE_DIR}/microcode.us
77
    ${CMAKE_CURRENT_SOURCE_DIR}/debug.us)
78
 
79
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/microcode.bin
80
                          ${CMAKE_CURRENT_BINARY_DIR}/microcode.mif
81
                          ${CMAKE_CURRENT_BINARY_DIR}/Microcode.sv
82
                          ${CMAKE_CURRENT_BINARY_DIR}/MicrocodeTypes.sv
83
                          ${CMAKE_CURRENT_BINARY_DIR}/MicrocodeTypes.h
84
                   COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/microassembler/uasm -I${CMAKE_CURRENT_BINARY_DIR}/../..
85
                           ${CMAKE_CURRENT_BINARY_DIR}/microcode.bin
86
                           ${CMAKE_CURRENT_BINARY_DIR}/microcode.mif
87
                           ${CMAKE_CURRENT_BINARY_DIR}/Microcode.sv
88
                           ${CMAKE_CURRENT_BINARY_DIR}/MicrocodeTypes.sv
89
                           ${CMAKE_CURRENT_BINARY_DIR}/MicrocodeTypes.h
90
                           ${microprogram_sources}
91
                   DEPENDS ${microprogram_sources}
92
                           ${CMAKE_CURRENT_SOURCE_DIR}/Microcode.sv.templ
93
                           ${CMAKE_CURRENT_SOURCE_DIR}/microcode.mif.templ
94
                           ${CMAKE_CURRENT_SOURCE_DIR}/MicrocodeTypes.sv.templ
95
                           ${CMAKE_CURRENT_SOURCE_DIR}/MicrocodeTypes.h.templ
96
                           ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/microassembler/uasm
97
                           ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/microassembler/microasm/types.py)
98
 
99
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/Microcode.sv PROPERTIES
100
                            COMPILE_FLAGS "-DMICROCODE_ROM_PATH=\\\"${CMAKE_CURRENT_BINARY_DIR}\\\"")
101
 
102
include_directories(${CMAKE_CURRENT_BINARY_DIR})
103
 
104
add_custom_target(generate_microcode
105
                  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/microcode.bin
106
                  ${CMAKE_CURRENT_BINARY_DIR}/microcode.mif
107
                  ${CMAKE_CURRENT_BINARY_DIR}/Microcode.sv
108
                  ${CMAKE_CURRENT_BINARY_DIR}/MicrocodeTypes.sv
109
                  ${CMAKE_CURRENT_BINARY_DIR}/MicrocodeTypes.h)
110
 
111
verilate(TOPLEVEL Microcode
112
         VERILOG_SOURCES
113
         ${CMAKE_CURRENT_BINARY_DIR}/MicrocodeTypes.sv
114
         ${CMAKE_CURRENT_BINARY_DIR}/Microcode.sv)

powered by: WebSVN 2.1.0

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