litex/examples/de0_nano/top.py

61 lines
1.9 KiB
Python

################################################################################
# _____ _ ____ _ _ _ _
# | __|___ |_|___ _ _ | \|_|___|_| |_ ___| |
# | __| | | | . | | | | | | | . | | _| .'| |
# |_____|_|_|_| |___|_ | |____/|_|_ |_|_| |__,|_|
# |___| |___| |___|
#
# Copyright 2013 / Florent Kermarrec / florent@enjoy-digital.fr
#
# miscope miio example on De0 Nano
# --------------------------------
################################################################################
#==============================================================================
# I M P O R T
#==============================================================================
from migen.fhdl.structure import *
from migen.fhdl.module import *
from migen.bus import csr
from miscope import miio
from miscope.bridges import uart2csr
from timings import *
#==============================================================================
# P A R A M E T E R S
#==============================================================================
# Timings Param
clk_freq = 50*MHz
# Csr Addr
MIIO0_ADDR = 0x0000
#==============================================================================
# M I S C O P E E X A M P L E
#==============================================================================
class SoC(Module):
def __init__(self):
# MiIo
self.submodules.miio = miio.MiIo(MIIO0_ADDR, 8, "IO")
# Uart2Csr
self.submodules.uart2csr = uart2csr.Uart2Csr(clk_freq, 115200)
# Csr Interconnect
self.submodules.csrcon = csr.Interconnect(self.uart2csr.csr,
[
self.miio.bank.bus
])
# Led
self.led = Signal(8)
###
# Output
self.comb += self.led.eq(self.miio.o)
# Input
self.comb += self.miio.i.eq(0x5A)