mila: fixes when used without RLE

This commit is contained in:
Florent Kermarrec 2014-10-06 12:30:06 +02:00
parent f72f11f7b4
commit ba30a01830
2 changed files with 8 additions and 8 deletions

View File

@ -23,7 +23,7 @@ class MiIoDriver():
return self.miio_i.read() return self.miio_i.read()
class MiLaDriver(): class MiLaDriver():
def __init__(self, regs, name, config_csv=None, use_rle=True): def __init__(self, regs, name, config_csv=None, use_rle=False):
self.regs = regs self.regs = regs
self.name = name self.name = name
self.use_rle = use_rle self.use_rle = use_rle
@ -33,7 +33,7 @@ class MiLaDriver():
self.get_layout() self.get_layout()
self.build_mila() self.build_mila()
self.dat = Dat(self.width) self.dat = Dat(self.width)
def get_config(self): def get_config(self):
csv_reader = csv.reader(open(self.config_csv), delimiter=',', quotechar='#') csv_reader = csv.reader(open(self.config_csv), delimiter=',', quotechar='#')
for item in csv_reader: for item in csv_reader:
@ -86,14 +86,14 @@ class MiLaDriver():
rm.write(rising_mask) rm.write(rising_mask)
fm.write(falling_mask) fm.write(falling_mask)
bm.write(both_mask) bm.write(both_mask)
def prog_sum(self, equation): def prog_sum(self, equation):
datas = gen_truth_table(equation) datas = gen_truth_table(equation)
for adr, dat in enumerate(datas): for adr, dat in enumerate(datas):
self.mila_trigger_sum_prog_adr.write(adr) self.mila_trigger_sum_prog_adr.write(adr)
self.mila_trigger_sum_prog_dat.write(dat) self.mila_trigger_sum_prog_dat.write(dat)
self.mila_trigger_sum_prog_we.write(1) self.mila_trigger_sum_prog_we.write(1)
def config_rle(self, v): def config_rle(self, v):
self.mila_rle_enable.write(v) self.mila_rle_enable.write(v)
@ -120,8 +120,9 @@ class MiLaDriver():
self.dat.append(self.mila_recorder_read_dat.read()) self.dat.append(self.mila_recorder_read_dat.read())
empty = self.mila_recorder_read_empty.read() empty = self.mila_recorder_read_empty.read()
self.mila_recorder_read_en.write(1) self.mila_recorder_read_en.write(1)
if self.use_rle: if self.with_rle:
self.dat = self.dat.decode_rle() if self.use_rle:
self.dat = self.dat.decode_rle()
return self.dat return self.dat
def export(self, export_fn=None): def export(self, export_fn=None):

View File

@ -36,7 +36,6 @@ class MiLa(Module, AutoCSR):
self.submodules.trigger = trigger = Trigger(width, ports) self.submodules.trigger = trigger = Trigger(width, ports)
self.submodules.recorder = recorder = Recorder(width, depth) self.submodules.recorder = recorder = Recorder(width, depth)
self.comb += [ self.comb += [
sink.connect(trigger.sink), sink.connect(trigger.sink),
trigger.source.connect(recorder.trig_sink) trigger.source.connect(recorder.trig_sink)
@ -49,7 +48,7 @@ class MiLa(Module, AutoCSR):
rle.source.connect(recorder.dat_sink) rle.source.connect(recorder.dat_sink)
] ]
else: else:
sink.connect(recorder.dat_sink) self.comb += sink.connect(recorder.dat_sink)
def export(self, design, layout, filename): def export(self, design, layout, filename):
ret, ns = verilog.convert(design, return_ns=True) ret, ns = verilog.convert(design, return_ns=True)