# Modifications for the Libre-SOC Project funded by NLnet and NGI POINTER
# under EU Grants 871528 and 957073, under the LGPLv3+ License
+from soc.bus.uart_16550 import UART16550 # opencores 16550 uart
from nmigen import (Module, Elaboratable, DomainRenamer)
from nmigen.lib.cdc import ResetSynchronizer
from nmigen_soc import wishbone, memory
from lambdasoc.cpu.minerva import MinervaCPU
from lambdasoc.periph.intc import GenericInterruptController
-from lambdasoc.periph.serial import AsyncSerialPeripheral
from lambdasoc.periph.sram import SRAMPeripheral
from lambdasoc.periph.timer import TimerPeripheral
from lambdasoc.periph import Peripheral
from nmigen_boards.arty_a7 import ArtyA7_100Platform
from nmigen_boards.test.blinky import Blinky
-from uartbridge import UARTBridge
from crg import ECPIX5CRG
import sys
+import os
class DDR3SoC(SoC, Elaboratable):
self._decoder.add(self.ram.bus, addr=0x8000000) # SRAM at 0x8000_000
# UART
- self.uart_phy = AsyncSerial(data_bits=8,
- divisor=int(clk_freq//115200),
- pins=uart_pins)
- self.uart = AsyncSerialPeripheral(core=self.uart_phy)
+ opencores_16550 = "../../uart16550/rtl/verilog"
+ pth = __file__
+ print (pth)
+ self.uart = UART16550(verilog_src_dir=opencores_16550)
self._decoder.add(self.uart.bus, addr=0xc0002000) # 16550 UART address
# DRAM Module