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

Subversion Repositories s80186

[/] [s80186/] [trunk/] [fpga/] [de0-cv/] [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(Quartus)
19
 
20
option(DE0_CV_SERIAL_STDIO "Use the serial port for stdio" OFF)
21
 
22
get_property(ALU_SOURCES GLOBAL PROPERTY G_ALU_SOURCES)
23
get_property(CORE_SOURCES GLOBAL PROPERTY G_CORE_SOURCES)
24
 
25
configure_file(Top.qsf Top.qsf)
26
configure_file(Top.srf Top.srf)
27
 
28
if(${DE0_CV_SERIAL_STDIO})
29
add_definitions(-DSERIAL_STDIO)
30
endif()
31
set(BIOS_PLATFORM "de0-cv")
32
add_subdirectory(../../bios ${CMAKE_CURRENT_BINARY_DIR}/bios
33
                 EXCLUDE_FROM_ALL)
34
 
35
set(FPGA_SOURCES
36
    ${CMAKE_CURRENT_SOURCE_DIR}/defines.sv
37
    ${CMAKE_CURRENT_SOURCE_DIR}/SysPLL.v
38
    ${CMAKE_CURRENT_SOURCE_DIR}/../leds/LEDSRegister.sv
39
    ${CMAKE_CURRENT_SOURCE_DIR}/../common/Top.sv
40
    ${CMAKE_CURRENT_SOURCE_DIR}/../common/VirtualJTAG.sv
41
    ${CMAKE_CURRENT_SOURCE_DIR}/../common/JTAGBridge.sv
42
    ${CMAKE_CURRENT_SOURCE_DIR}/../bios/BIOS.sv
43
    ${CMAKE_CURRENT_SOURCE_DIR}/../bios/BIOSControlRegister.sv
44
    ${CMAKE_CURRENT_SOURCE_DIR}/../irq/IRQControl.sv
45
    ${CMAKE_CURRENT_SOURCE_DIR}/../pic/PIC.sv
46
    ${CMAKE_CURRENT_SOURCE_DIR}/../timer/Timer.sv
47
    ${CMAKE_CURRENT_SOURCE_DIR}/../sdram/Counter.sv
48
    ${CMAKE_CURRENT_SOURCE_DIR}/../sdram/SDRAMController.sv
49
    ${CMAKE_CURRENT_SOURCE_DIR}/../sdram/SDRAMConfigRegister.sv
50
    ${CMAKE_CURRENT_SOURCE_DIR}/../VGA/VGAController.sv
51
    ${CMAKE_CURRENT_SOURCE_DIR}/../VGA/VGASync.sv
52
    ${CMAKE_CURRENT_SOURCE_DIR}/../VGA/FontColorLUT.sv
53
    ${CMAKE_CURRENT_SOURCE_DIR}/../VGA/FrameBuffer.sv
54
    ${CMAKE_CURRENT_SOURCE_DIR}/../VGA/FrameBufferRAM.sv
55
    ${CMAKE_CURRENT_SOURCE_DIR}/../VGA/VGARegisters.sv
56
    ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/MemArbiter.sv
57
    ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/cdc/BitSync.sv
58
    ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/cdc/SyncPulse.sv
59
    ${CMAKE_CURRENT_SOURCE_DIR}/../../rtl/cdc/MCP.sv
60
    ${CMAKE_CURRENT_SOURCE_DIR}/../uart/BaudRateGen.sv
61
    ${CMAKE_CURRENT_SOURCE_DIR}/../uart/Transmitter.sv
62
    ${CMAKE_CURRENT_SOURCE_DIR}/../uart/Receiver.sv
63
    ${CMAKE_CURRENT_SOURCE_DIR}/../uart/Uart.sv
64
    ${CMAKE_CURRENT_SOURCE_DIR}/../uart/UartPorts.sv
65
    ${CMAKE_CURRENT_SOURCE_DIR}/../ps2/PS2Host.sv
66
    ${CMAKE_CURRENT_SOURCE_DIR}/../ps2/PS2Controller.sv
67
    ${CMAKE_CURRENT_SOURCE_DIR}/../spi/SPIMaster.sv
68
    ${CMAKE_CURRENT_SOURCE_DIR}/../spi/SPIPorts.sv)
69
 
70
set(ALL_SOURCES ${CORE_SOURCES} ${FPGA_SOURCES})
71
 
72
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/Microcode.v PROPERTIES
73
                            COMPILE_FLAGS "--verilog_macro=\"MICROCODE_ROM_PATH=\\\\\\\"${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/\\\\\\\"")
74
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/../VGA/FontColorLUT.sv PROPERTIES
75
                            COMPILE_FLAGS "--verilog_macro=\"FONT_ROM_PATH=\\\\\\\"${CMAKE_CURRENT_BINARY_DIR}\\\\\\\"\"")
76
 
77
add_custom_command(OUTPUT microcode.mif
78
                   COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/microcode.mif .
79
                   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/../../rtl/microcode/microcode.mif generate_microcode)
80
add_custom_command(OUTPUT bios.mif
81
                   COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/make-bios-mif ${CMAKE_CURRENT_BINARY_DIR}/bios/bios-de0-cv bios.mif
82
                   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bios/bios-de0-cv)
83
add_custom_command(OUTPUT font.bin
84
                   COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/mkfontrom ${CMAKE_CURRENT_SOURCE_DIR}/../../vendor/fonts/cp437-8x8 font.bin
85
                   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../vendor/fonts/cp437-8x8)
86
add_fpga(PROJECT Top
87
         FAMILY "Cyclone V"
88
         PART "5CEBA4F23C7"
89
         SOURCES ${ALL_SOURCES}
90
         DEPENDS microcode.mif bios.mif font.bin)
91
 
92
add_custom_command(OUTPUT __program_de0_cv__
93
                   COMMAND ${QUARTUS_PGM_EXECUTABLE} --mode=jtag -o \"P\;Top.sof\"
94
                   DEPENDS Top.sof)
95
 
96
add_custom_target(de0-cv DEPENDS Top.sta.rpt)
97
add_custom_target(de0-cv-program DEPENDS __program_de0_cv__)

powered by: WebSVN 2.1.0

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