forked from M-Labs/artiq
sayma_amc: refactor RTM FPGA code
This commit is contained in:
parent
96fc4a21e8
commit
58b7bdcecc
|
@ -77,11 +77,8 @@ class AD9154NoSAWG(Module, AutoCSR):
|
||||||
Cat(samples[3]).eq(Cat(samples[1]))
|
Cat(samples[3]).eq(Cat(samples[1]))
|
||||||
]
|
]
|
||||||
|
|
||||||
|
class RTMUARTForward(Module):
|
||||||
class RTMCommon:
|
def __init__(self, platform):
|
||||||
def __init__(self):
|
|
||||||
platform = self.platform
|
|
||||||
|
|
||||||
# forward RTM UART to second FTDI UART channel
|
# forward RTM UART to second FTDI UART channel
|
||||||
serial_1 = platform.request("serial", 1)
|
serial_1 = platform.request("serial", 1)
|
||||||
serial_rtm = platform.request("serial_rtm")
|
serial_rtm = platform.request("serial_rtm")
|
||||||
|
@ -90,6 +87,11 @@ class RTMCommon:
|
||||||
serial_rtm.tx.eq(serial_1.rx)
|
serial_rtm.tx.eq(serial_1.rx)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class RTMSerWb:
|
||||||
|
def __init__(self):
|
||||||
|
platform = self.platform
|
||||||
|
|
||||||
# RTM bitstream upload
|
# RTM bitstream upload
|
||||||
slave_fpga_cfg = self.platform.request("rtm_fpga_cfg")
|
slave_fpga_cfg = self.platform.request("rtm_fpga_cfg")
|
||||||
self.submodules.slave_fpga_cfg = gpio.GPIOTristate([
|
self.submodules.slave_fpga_cfg = gpio.GPIOTristate([
|
||||||
|
@ -153,13 +155,7 @@ class Master(MiniSoC, AMPSoC):
|
||||||
platform = self.platform
|
platform = self.platform
|
||||||
rtio_clk_freq = 150e6
|
rtio_clk_freq = 150e6
|
||||||
|
|
||||||
# forward RTM UART to second FTDI UART channel
|
self.submodules += RTMUARTForward(platform)
|
||||||
serial_1 = platform.request("serial", 1)
|
|
||||||
serial_rtm = platform.request("serial_rtm")
|
|
||||||
self.comb += [
|
|
||||||
serial_1.tx.eq(serial_rtm.rx),
|
|
||||||
serial_rtm.tx.eq(serial_1.rx)
|
|
||||||
]
|
|
||||||
|
|
||||||
self.submodules.si5324_rst_n = gpio.GPIOOut(platform.request("si5324").rst_n)
|
self.submodules.si5324_rst_n = gpio.GPIOOut(platform.request("si5324").rst_n)
|
||||||
self.csr_devices.append("si5324_rst_n")
|
self.csr_devices.append("si5324_rst_n")
|
||||||
|
@ -283,7 +279,7 @@ class Master(MiniSoC, AMPSoC):
|
||||||
self.csr_devices.append("routing_table")
|
self.csr_devices.append("routing_table")
|
||||||
|
|
||||||
|
|
||||||
class Satellite(BaseSoC, RTMCommon):
|
class Satellite(BaseSoC, RTMSerWb):
|
||||||
"""
|
"""
|
||||||
DRTIO satellite with local DAC/SAWG channels.
|
DRTIO satellite with local DAC/SAWG channels.
|
||||||
Use SFP0 to connect to master (Kasli/Sayma).
|
Use SFP0 to connect to master (Kasli/Sayma).
|
||||||
|
@ -300,13 +296,15 @@ class Satellite(BaseSoC, RTMCommon):
|
||||||
sdram_controller_type="minicon",
|
sdram_controller_type="minicon",
|
||||||
l2_size=128*1024,
|
l2_size=128*1024,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
RTMCommon.__init__(self)
|
RTMSerWb.__init__(self)
|
||||||
add_identifier(self, suffix=".without-sawg" if not with_sawg else "")
|
add_identifier(self, suffix=".without-sawg" if not with_sawg else "")
|
||||||
self.config["HMC830_REF"] = "150"
|
self.config["HMC830_REF"] = "150"
|
||||||
|
|
||||||
platform = self.platform
|
platform = self.platform
|
||||||
rtio_clk_freq = 150e6
|
rtio_clk_freq = 150e6
|
||||||
|
|
||||||
|
self.submodules += RTMUARTForward(platform)
|
||||||
|
|
||||||
rtio_channels = []
|
rtio_channels = []
|
||||||
for i in range(4):
|
for i in range(4):
|
||||||
phy = ttl_simple.Output(platform.request("user_led", i))
|
phy = ttl_simple.Output(platform.request("user_led", i))
|
||||||
|
|
Loading…
Reference in New Issue