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

Subversion Repositories s80186

[/] [s80186/] [trunk/] [tests/] [rtl/] [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
include(Verilator)
19
 
20
include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode)
21
include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../rtl)
22
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../rtl)
23
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
24
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../sim/RTLCPU)
25
include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../sim/RTLCPU)
26
 
27
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/coverage)
28
 
29
get_property(ALU_SOURCES GLOBAL PROPERTY G_ALU_SOURCES)
30
get_property(CORE_SOURCES GLOBAL PROPERTY G_CORE_SOURCES)
31
 
32
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/Microcode.sv PROPERTIES
33
                            COMPILE_FLAGS "-DMICROCODE_ROM_PATH=\\\"${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/\\\"")
34
 
35
verilate(TOPLEVEL ModRMTestbench
36
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/RegisterEnum.sv
37
         ${CMAKE_CURRENT_SOURCE_DIR}/ModRMTestbench.sv
38
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/ModRMDecode.sv
39
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/ImmediateReader.sv)
40
verilate(TOPLEVEL ALU
41
         VERILOG_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/MicrocodeTypes.sv
42
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/FlagsEnum.sv
43
         ${ALU_SOURCES}
44
         GENERATED_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/VALU___024unit.cpp
45
         ${CMAKE_CURRENT_BINARY_DIR}/VALU___024unit.h
46
         DEPENDS generate_microcode)
47
verilate(TOPLEVEL CSIPSync
48
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/CSIPSync.sv)
49
verilate(TOPLEVEL Fifo
50
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/Fifo.sv)
51
verilate(TOPLEVEL Flags
52
         VERILOG_SOURCES
53
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/FlagsEnum.sv
54
         ${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/MicrocodeTypes.sv
55
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/Flags.sv
56
         DEPENDS generate_microcode)
57
verilate(TOPLEVEL ImmediateReader
58
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/ImmediateReader.sv)
59
verilate(TOPLEVEL IP
60
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/IP.sv)
61
verilate(TOPLEVEL LoadStore
62
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/LoadStore.sv)
63
verilate(TOPLEVEL ModRMDecode
64
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/RegisterEnum.sv
65
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/ModRMDecode.sv)
66
verilate(TOPLEVEL Prefetch
67
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/Prefetch.sv)
68
verilate(TOPLEVEL RegisterFile
69
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/RegisterFile.sv)
70
verilate(TOPLEVEL SegmentOverride
71
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/RegisterEnum.sv
72
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/SegmentOverride.sv)
73
verilate(TOPLEVEL SegmentRegisterFile
74
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/RegisterEnum.sv
75
         ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/SegmentRegisterFile.sv)
76
verilate(TOPLEVEL Divider
77
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/Divider.sv)
78
verilate(TOPLEVEL PosedgeToPulse
79
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/PosedgeToPulse.sv)
80
verilate(TOPLEVEL PIC
81
         VERILOG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../fpga/pic/PIC.sv)
82
 
83
add_executable(rtl-unittest
84
               TestALU.cpp
85
               TestCSIPSync.cpp
86
               TestDivider.cpp
87
               TestDivisionAlgorithm.cpp
88
               TestFifo.cpp
89
               TestFlags.cpp
90
               TestImmediateReader.cpp
91
               TestImmediateReader.cpp
92
               TestIP.cpp
93
               TestLoadStore.cpp
94
               TestMicrocode.cpp
95
               TestModRMDecode.cpp
96
               TestModRMDecode.cpp
97
               TestPIC.cpp
98
               TestPosedgeToPulse.cpp
99
               TestPrefetch.cpp
100
               TestRegisterFile.cpp
101
               TestSegmentOverride.cpp
102
               TestSegmentRegisterFile.cpp
103
               $
104
               $
105
               $
106
               main.cpp)
107
 
108
target_link_libraries(rtl-unittest
109
                      VALU
110
                      VCSIPSync
111
                      VRTLCPU
112
                      VDivider
113
                      VFifo
114
                      VFlags
115
                      VImmediateReader
116
                      VIP
117
                      VLoadStore
118
                      VMicrocode
119
                      VModRMTestbench
120
                      VPIC
121
                      VPosedgeToPulse
122
                      VPrefetch
123
                      VRegisterFile
124
                      VSegmentOverride
125
                      VSegmentRegisterFile
126
                      gtest
127
                      gmock
128
                      verilator
129
                      rtlsim
130
                      simcommon)
131
add_test(rtl-unittest rtl-unittest)
132
set_tests_properties(rtl-unittest PROPERTIES TIMEOUT 60)
133
set_tests_properties(rtl-unittest PROPERTIES LABELS RTLCPU)

powered by: WebSVN 2.1.0

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