naps.soc.platform.zynq package¶
Submodules¶
naps.soc.platform.zynq.memory_accessor_devmem module¶
-
class
naps.soc.platform.zynq.memory_accessor_devmem.DevMemAccessor(base_addr=1073741824, bytes=None, filename='/dev/mem')¶ Bases:
object-
mask= -4¶
-
read(offset)¶
-
word= 4¶
-
write(offset, to_write)¶
-
-
naps.soc.platform.zynq.memory_accessor_devmem.MemoryAccessor¶ alias of
naps.soc.platform.zynq.memory_accessor_devmem.DevMemAccessor
naps.soc.platform.zynq.to_raw_bitstream module¶
-
naps.soc.platform.zynq.to_raw_bitstream.bit2bin(bitstream, flip_data=True)¶
-
naps.soc.platform.zynq.to_raw_bitstream.flip32(data)¶
naps.soc.platform.zynq.zynq_soc_platform module¶
-
class
naps.soc.platform.zynq.zynq_soc_platform.ZynqSocPlatform(platform, *args, **kwargs)¶ Bases:
naps.soc.soc_platform.SocPlatform-
base_address= 0x40000000[0:8589934584]¶
-
csr_domain= 'axi_lite'¶
-
pack_bitstream_fatbitstream(builder)¶
-
pydriver_memory_accessor= "import mmap\nimport os\nimport struct\nfrom math import ceil\n\n\nclass DevMemAccessor:\n word = 4\n mask = ~(word - 1)\n\n def __init__(self, base_addr=0x4000_0000, bytes=None, filename='/dev/mem'):\n if bytes is None:\n bytes = mmap.PAGESIZE\n\n assert (base_addr % mmap.PAGESIZE) == 0\n\n bytes = int(ceil(bytes / mmap.PAGESIZE) * mmap.PAGESIZE)\n\n self.base = base_addr\n\n self.f = os.open(filename, os.O_RDWR | os.O_SYNC)\n self.mem = mmap.mmap(self.f, bytes, mmap.MAP_SHARED, mmap.PROT_READ | mmap.PROT_WRITE, offset=base_addr)\n\n def __del__(self):\n os.close(self.f)\n\n def read(self, offset):\n self.mem.seek(offset)\n return struct.unpack('I', self.mem.read(4))[0]\n\n def write(self, offset, to_write):\n self.mem.seek(offset)\n return self.mem.write(struct.pack('I', to_write))\n\n\nMemoryAccessor = DevMemAccessor\n"¶
-
toolchain_program(*args, **kwargs)¶
-