core: pass artiq_builtins to NAC3

This commit is contained in:
Sebastien Bourdeauducq 2023-12-12 15:54:57 +08:00
parent 089bc1f168
commit 8b4572f9ca
1 changed files with 10 additions and 2 deletions

View File

@ -4,7 +4,7 @@ from numpy import int32, int64
import nac3artiq import nac3artiq
from artiq.language.core import * from artiq.language.core import *
from artiq.language.core import _ConstGenericMarker # nac3artiq.NAC3 needs to look up this private class from artiq.language.core import _ConstGenericMarker
from artiq.language import core as core_language from artiq.language import core as core_language
from artiq.language.units import * from artiq.language.units import *
from artiq.language.embedding_map import EmbeddingMap from artiq.language.embedding_map import EmbeddingMap
@ -25,6 +25,14 @@ def rtio_get_counter() -> int64:
raise NotImplementedError("syscall not simulated") raise NotImplementedError("syscall not simulated")
artiq_builtins = {
"none": none,
"virtual": virtual,
"_ConstGenericMarker": _ConstGenericMarker,
"Option": Option,
}
@nac3 @nac3
class Core: class Core:
"""Core device driver. """Core device driver.
@ -58,7 +66,7 @@ class Core:
self.comm.core = self self.comm.core = self
self.target = target self.target = target
self.analyzed = False self.analyzed = False
self.compiler = nac3artiq.NAC3(target) self.compiler = nac3artiq.NAC3(target, artiq_builtins)
def close(self): def close(self):
self.comm.close() self.comm.close()