Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
litex-boards
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kestrel Collaboration
Kestrel LiteX
litex-boards
Commits
7c6df677
Commit
7c6df677
authored
Nov 12, 2020
by
Florent Kermarrec
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
targets: add tinyfpga_bx target (based on icebreaker/fomu targets).
parent
302e4ffd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
82 additions
and
0 deletions
+82
-0
litex_boards/targets/tinyfpga_bx.py
litex_boards/targets/tinyfpga_bx.py
+82
-0
No files found.
litex_boards/targets/tinyfpga_bx.py
0 → 100755
View file @
7c6df677
#!/usr/bin/env python3
#
# This file is part of LiteX-Boards.
#
# Copyright (c) 2020 Florent Kermarrec <florent@enjoy-digital.fr>
# SPDX-License-Identifier: BSD-2-Clause
import
os
import
sys
import
argparse
from
migen
import
*
from
litex.build.io
import
CRG
from
litex_boards.platforms
import
tinyfpga_bx
from
litex.soc.cores.spi_flash
import
SpiFlash
from
litex.soc.integration.soc_core
import
*
from
litex.soc.integration.soc
import
SoCRegion
from
litex.soc.integration.builder
import
*
from
litex.soc.cores.led
import
LedChaser
kB
=
1024
mB
=
1024
*
kB
# BaseSoC ------------------------------------------------------------------------------------------
class
BaseSoC
(
SoCCore
):
mem_map
=
{
**
SoCCore
.
mem_map
,
**
{
"spiflash"
:
0x80000000
}}
def
__init__
(
self
,
bios_flash_offset
,
**
kwargs
):
sys_clk_freq
=
int
(
16e6
)
platform
=
tinyfpga_bx
.
Platform
()
# Disable Integrated ROM since too large for iCE40.
kwargs
[
"integrated_rom_size"
]
=
0
# Set CPU variant / reset address
kwargs
[
"cpu_reset_address"
]
=
self
.
mem_map
[
"spiflash"
]
+
bios_flash_offset
# SoCCore ----------------------------------------------------------------------------------
SoCCore
.
__init__
(
self
,
platform
,
sys_clk_freq
,
ident
=
"LiteX SoC on TinyFPGA BX"
,
ident_version
=
True
,
**
kwargs
)
# CRG --------------------------------------------------------------------------------------
self
.
submodules
.
crg
=
CRG
(
platform
.
request
(
"clk16"
))
# SPI Flash --------------------------------------------------------------------------------
self
.
add_spi_flash
(
mode
=
"1x"
,
dummy_cycles
=
8
)
# Add ROM linker region --------------------------------------------------------------------
self
.
bus
.
add_region
(
"rom"
,
SoCRegion
(
origin
=
self
.
mem_map
[
"spiflash"
]
+
bios_flash_offset
,
size
=
32
*
kB
,
linker
=
True
)
)
# Leds -------------------------------------------------------------------------------------
self
.
submodules
.
leds
=
LedChaser
(
pads
=
platform
.
request_all
(
"user_led"
),
sys_clk_freq
=
sys_clk_freq
)
self
.
add_csr
(
"leds"
)
# Build --------------------------------------------------------------------------------------------
def
main
():
parser
=
argparse
.
ArgumentParser
(
description
=
"LiteX SoC on TinyFPGA BX"
)
parser
.
add_argument
(
"--build"
,
action
=
"store_true"
,
help
=
"Build bitstream"
)
parser
.
add_argument
(
"--bios-flash-offset"
,
default
=
0x60000
,
help
=
"BIOS offset in SPI Flash (default: 0x60000)"
)
builder_args
(
parser
)
soc_core_args
(
parser
)
args
=
parser
.
parse_args
()
soc
=
BaseSoC
(
args
.
bios_flash_offset
,
**
soc_core_argdict
(
args
))
builder
=
Builder
(
soc
,
**
builder_argdict
(
args
))
builder
.
build
(
run
=
args
.
build
)
if
__name__
==
"__main__"
:
main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment