forked from M-Labs/artiq
1
0
Fork 0

phaser: add miqro mode

This commit is contained in:
Robert Jördens 2022-09-02 09:32:02 +00:00
parent 47f90a58cc
commit 31663556b8
1 changed files with 25 additions and 12 deletions

View File

@ -709,20 +709,33 @@ class Phaser(_EEM):
) for pol in "pn"] ) for pol in "pn"]
@classmethod @classmethod
def add_std(cls, target, eem, iostandard=default_iostandard): def add_std(cls, target, eem, mode, iostandard=default_iostandard):
cls.add_extension(target, eem, iostandard=iostandard) cls.add_extension(target, eem, iostandard=iostandard)
phy = phaser.Phaser( if mode == "phaser":
target.platform.request("phaser{}_ser_p".format(eem)), phy = phaser.Phaser(
target.platform.request("phaser{}_ser_n".format(eem))) target.platform.request("phaser{}_ser_p".format(eem)),
target.submodules += phy target.platform.request("phaser{}_ser_n".format(eem)))
target.rtio_channels.extend([ target.submodules += phy
rtio.Channel.from_phy(phy, ififo_depth=4), target.rtio_channels.extend([
rtio.Channel.from_phy(phy.ch0.frequency), rtio.Channel.from_phy(phy, ififo_depth=4),
rtio.Channel.from_phy(phy.ch0.phase_amplitude), rtio.Channel.from_phy(phy.ch0.frequency),
rtio.Channel.from_phy(phy.ch1.frequency), rtio.Channel.from_phy(phy.ch0.phase_amplitude),
rtio.Channel.from_phy(phy.ch1.phase_amplitude), rtio.Channel.from_phy(phy.ch1.frequency),
]) rtio.Channel.from_phy(phy.ch1.phase_amplitude),
])
elif mode == "miqro":
phy = phaser.Miqro(
target.platform.request("phaser{}_ser_p".format(eem)),
target.platform.request("phaser{}_ser_n".format(eem)))
target.submodules += phy
target.rtio_channels.extend([
rtio.Channel.from_phy(phy, ififo_depth=4),
rtio.Channel.from_phy(phy.ch0),
rtio.Channel.from_phy(phy.ch1),
])
else:
raise ValueError("invalid mode", mode)
class HVAmp(_EEM): class HVAmp(_EEM):