From: Florent Kermarrec Date: Thu, 19 Feb 2015 10:14:31 +0000 (+0100) Subject: driver/la: add samplerate computation (required by sigrok export) X-Git-Tag: 24jan2021_ls180~2575^2~12 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e495e2f537a836e868e44a083a80cd315970198b;p=litex.git driver/la: add samplerate computation (required by sigrok export) --- diff --git a/litescope/host/driver/la.py b/litescope/host/driver/la.py index 083805ef..a60d5d72 100644 --- a/litescope/host/driver/la.py +++ b/litescope/host/driver/la.py @@ -5,12 +5,21 @@ from litescope.host.dump import * from litescope.host.driver.truthtable import * class LiteScopeLADriver(): - def __init__(self, regs, name, config_csv=None, debug=False): + def __init__(self, regs, name, config_csv=None, clk_freq=None, debug=False): self.regs = regs self.name = name - self.debug = debug if config_csv is None: self.config_csv = name + ".csv" + if clk_freq is None: + try: + self.clk_freq = regs.identifier_frequency.read() + except: + self.clk_freq = None + self.samplerate = self.clk_freq + else: + self.clk_freq = clk_freq + self.samplerate = clk_freq + self.debug = debug self.get_config() self.get_layout() self.build() @@ -78,6 +87,10 @@ class LiteScopeLADriver(): def configure_subsampler(self, n): self.subsampler_value.write(n-1) + if self.clk_freq is not None: + self.samplerate = self.clk_freq//n + else: + self.samplerate = None def configure_qualifier(self, v): self.recorder_qualifier.write(v) @@ -121,7 +134,9 @@ class LiteScopeLADriver(): dump = PythonDump() elif ext == ".sr": from litescope.host.dump.sigrok import SigrokDump - dump = SigrokDump() + if self.samplerate is None: + raise ValueError("Unable to automatically retrieve clk_freq, clk_freq parameter required") + dump = SigrokDump(samplerate=self.samplerate) else: raise NotImplementedError dump.add_from_layout(self.layout, self.data)