mirror of https://github.com/m-labs/artiq.git
kasli: add nrc variant
This commit is contained in:
parent
9bead085c7
commit
6113ecb199
|
@ -0,0 +1,449 @@
|
|||
|
||||
# Autogenerated for the nrc variant
|
||||
core_addr = "192.168.1.75"
|
||||
|
||||
device_db = {
|
||||
"core": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.core",
|
||||
"class": "Core",
|
||||
"arguments": {"host": core_addr, "ref_period": 1e-09}
|
||||
},
|
||||
"core_log": {
|
||||
"type": "controller",
|
||||
"host": "::1",
|
||||
"port": 1068,
|
||||
"command": "aqctl_corelog -p {port} --bind {bind} " + core_addr
|
||||
},
|
||||
"core_cache": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.cache",
|
||||
"class": "CoreCache"
|
||||
},
|
||||
"core_dma": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.dma",
|
||||
"class": "CoreDMA"
|
||||
},
|
||||
|
||||
"i2c_switch0": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.i2c",
|
||||
"class": "PCA9548",
|
||||
"arguments": {"address": 0xe0}
|
||||
},
|
||||
"i2c_switch1": {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.i2c",
|
||||
"class": "PCA9548",
|
||||
"arguments": {"address": 0xe2}
|
||||
},
|
||||
}
|
||||
|
||||
# standalone peripherals
|
||||
|
||||
device_db["ttl0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLInOut",
|
||||
"arguments": {"channel": 0x000000},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl1"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLInOut",
|
||||
"arguments": {"channel": 0x000001},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl2"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLInOut",
|
||||
"arguments": {"channel": 0x000002},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl3"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLInOut",
|
||||
"arguments": {"channel": 0x000003},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl4"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000004},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl5"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000005},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl6"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000006},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl7"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000007},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl8"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000008},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl9"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000009},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl10"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00000a},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl11"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00000b},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl12"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00000c},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl13"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00000d},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl14"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00000e},
|
||||
}
|
||||
|
||||
|
||||
device_db["ttl15"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00000f},
|
||||
}
|
||||
|
||||
|
||||
device_db["spi_urukul0"]={
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.spi2",
|
||||
"class": "SPIMaster",
|
||||
"arguments": {"channel": 0x000010}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul0_io_update"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000011}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul0_sw0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000012}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul0_sw1"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000013}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul0_sw2"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000014}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul0_sw3"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000015}
|
||||
}
|
||||
|
||||
device_db["urukul0_cpld"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.urukul",
|
||||
"class": "CPLD",
|
||||
"arguments": {
|
||||
"spi_device": "spi_urukul0",
|
||||
"sync_device": None,
|
||||
"io_update_device": "ttl_urukul0_io_update",
|
||||
"refclk": 125000000.0,
|
||||
"clk_sel": 2
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul0_ch0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9910",
|
||||
"class": "AD9910",
|
||||
"arguments": {
|
||||
"pll_n": 32,
|
||||
"chip_select": 4,
|
||||
"cpld_device": "urukul0_cpld",
|
||||
"sw_device": "ttl_urukul0_sw0"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul0_ch1"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9910",
|
||||
"class": "AD9910",
|
||||
"arguments": {
|
||||
"pll_n": 32,
|
||||
"chip_select": 5,
|
||||
"cpld_device": "urukul0_cpld",
|
||||
"sw_device": "ttl_urukul0_sw1"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul0_ch2"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9910",
|
||||
"class": "AD9910",
|
||||
"arguments": {
|
||||
"pll_n": 32,
|
||||
"chip_select": 6,
|
||||
"cpld_device": "urukul0_cpld",
|
||||
"sw_device": "ttl_urukul0_sw2"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul0_ch3"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9910",
|
||||
"class": "AD9910",
|
||||
"arguments": {
|
||||
"pll_n": 32,
|
||||
"chip_select": 7,
|
||||
"cpld_device": "urukul0_cpld",
|
||||
"sw_device": "ttl_urukul0_sw3"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["spi_urukul1"]={
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.spi2",
|
||||
"class": "SPIMaster",
|
||||
"arguments": {"channel": 0x000016}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul1_io_update"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000017}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul1_sw0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000018}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul1_sw1"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000019}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul1_sw2"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00001a}
|
||||
}
|
||||
|
||||
device_db["ttl_urukul1_sw3"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00001b}
|
||||
}
|
||||
|
||||
device_db["urukul1_cpld"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.urukul",
|
||||
"class": "CPLD",
|
||||
"arguments": {
|
||||
"spi_device": "spi_urukul1",
|
||||
"sync_device": None,
|
||||
"io_update_device": "ttl_urukul1_io_update",
|
||||
"refclk": 125000000.0,
|
||||
"clk_sel": 2
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul1_ch0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9912",
|
||||
"class": "AD9912",
|
||||
"arguments": {
|
||||
"pll_n": 8,
|
||||
"chip_select": 4,
|
||||
"cpld_device": "urukul1_cpld",
|
||||
"sw_device": "ttl_urukul1_sw0"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul1_ch1"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9912",
|
||||
"class": "AD9912",
|
||||
"arguments": {
|
||||
"pll_n": 8,
|
||||
"chip_select": 5,
|
||||
"cpld_device": "urukul1_cpld",
|
||||
"sw_device": "ttl_urukul1_sw1"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul1_ch2"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9912",
|
||||
"class": "AD9912",
|
||||
"arguments": {
|
||||
"pll_n": 8,
|
||||
"chip_select": 6,
|
||||
"cpld_device": "urukul1_cpld",
|
||||
"sw_device": "ttl_urukul1_sw2"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["urukul1_ch3"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ad9912",
|
||||
"class": "AD9912",
|
||||
"arguments": {
|
||||
"pll_n": 8,
|
||||
"chip_select": 7,
|
||||
"cpld_device": "urukul1_cpld",
|
||||
"sw_device": "ttl_urukul1_sw3"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["spi_sampler0_adc"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.spi2",
|
||||
"class": "SPIMaster",
|
||||
"arguments": {"channel": 0x00001c}
|
||||
}
|
||||
device_db["spi_sampler0_pgia"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.spi2",
|
||||
"class": "SPIMaster",
|
||||
"arguments": {"channel": 0x00001d}
|
||||
}
|
||||
device_db["spi_sampler0_cnv"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x00001e},
|
||||
}
|
||||
device_db["sampler0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.sampler",
|
||||
"class": "Sampler",
|
||||
"arguments": {
|
||||
"spi_adc_device": "spi_sampler0_adc",
|
||||
"spi_pgia_device": "spi_sampler0_pgia",
|
||||
"cnv_device": "spi_sampler0_cnv"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["spi_zotino0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.spi2",
|
||||
"class": "SPIMaster",
|
||||
"arguments": {"channel": 0x00001f}
|
||||
}
|
||||
device_db["ttl_zotino0_ldac"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000020}
|
||||
}
|
||||
device_db["ttl_zotino0_clr"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000021}
|
||||
}
|
||||
device_db["zotino0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.zotino",
|
||||
"class": "Zotino",
|
||||
"arguments": {
|
||||
"spi_device": "spi_zotino0",
|
||||
"ldac_device": "ttl_zotino0_ldac",
|
||||
"clr_device": "ttl_zotino0_clr"
|
||||
}
|
||||
}
|
||||
|
||||
device_db["led0"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000022}
|
||||
}
|
||||
|
||||
device_db["led1"] = {
|
||||
"type": "local",
|
||||
"module": "artiq.coredevice.ttl",
|
||||
"class": "TTLOut",
|
||||
"arguments": {"channel": 0x000023}
|
||||
}
|
|
@ -571,6 +571,37 @@ class Berkeley(_StandaloneBase):
|
|||
self.add_rtio(self.rtio_channels)
|
||||
|
||||
|
||||
class NRC(_StandaloneBase):
|
||||
def __init__(self, hw_rev=None, **kwargs):
|
||||
if hw_rev is None:
|
||||
hw_rev = "v1.1"
|
||||
_StandaloneBase.__init__(self, hw_rev=hw_rev, **kwargs)
|
||||
|
||||
self.config["SI5324_AS_SYNTHESIZER"] = None
|
||||
self.config["RTIO_FREQUENCY"] = "125.0"
|
||||
|
||||
self.rtio_channels = []
|
||||
eem.DIO.add_std(self, 0,
|
||||
ttl_serdes_7series.InOut_8X, ttl_serdes_7series.Output_8X)
|
||||
eem.DIO.add_std(self, 1,
|
||||
ttl_serdes_7series.Output_8X, ttl_serdes_7series.Output_8X)
|
||||
eem.Urukul.add_std(self, 2, 3, ttl_serdes_7series.Output_8X)
|
||||
eem.Urukul.add_std(self, 4, 5, ttl_serdes_7series.Output_8X)
|
||||
eem.Sampler.add_std(self, 6, 7, ttl_serdes_7series.Output_8X)
|
||||
eem.Zotino.add_std(self, 8, ttl_serdes_7series.Output_8X)
|
||||
|
||||
for i in (1, 2):
|
||||
sfp_ctl = self.platform.request("sfp_ctl", i)
|
||||
phy = ttl_simple.Output(sfp_ctl.led)
|
||||
self.submodules += phy
|
||||
self.rtio_channels.append(rtio.Channel.from_phy(phy))
|
||||
|
||||
self.config["HAS_RTIO_LOG"] = None
|
||||
self.config["RTIO_LOG_CHANNEL"] = len(self.rtio_channels)
|
||||
self.rtio_channels.append(rtio.LogChannel())
|
||||
self.add_rtio(self.rtio_channels)
|
||||
|
||||
|
||||
class PTB(_StandaloneBase):
|
||||
"""PTB Kasli variant
|
||||
|
||||
|
@ -1164,7 +1195,7 @@ class VLBAISatellite(_SatelliteBase):
|
|||
|
||||
VARIANTS = {cls.__name__.lower(): cls for cls in [
|
||||
Opticlock, SUServo, PTB, PTB2, HUB, LUH,
|
||||
SYSU, MITLL, MITLL2, USTC, Tsinghua, Tsinghua2, WIPM, NUDT, Berkeley,
|
||||
SYSU, MITLL, MITLL2, USTC, Tsinghua, Tsinghua2, WIPM, NUDT, Berkeley, NRC,
|
||||
VLBAIMaster, VLBAISatellite, Tester, Master, Satellite]}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue