enjoy-digital / litescope

Small footprint and configurable embedded FPGA logic analyzer
Other
160 stars 38 forks source link

Trying to run litescope_cli fails with missing attribute 'trigger_enable' #46

Closed bjonnh closed 1 year ago

bjonnh commented 1 year ago

This is how I call it:

 litescope_cli --csv ./analyzer.csv --csr-csv ./scripts/csr.csv 

And I get:

AttributeError: 'LiteScopeAnalyzerDriver' object has no attribute 'trigger_enable'

Content of analyzer.csv

config,None,data_width,8
config,None,depth,1024
config,None,samplerate,50000000
signal,0,count,8

Content of litescope values in ./scripts/csr.csv

csr_register,litescope_mux_value,0x00003000,1,rw
csr_register,litescope_trigger_enable,0x00003004,1,rw
csr_register,litescope_trigger_done,0x00003008,1,ro
csr_register,litescope_trigger_mem_write,0x0000300c,1,rw
csr_register,litescope_trigger_mem_mask,0x00003010,1,rw
csr_register,litescope_trigger_mem_value,0x00003014,1,rw
csr_register,litescope_trigger_mem_full,0x00003018,1,ro
csr_register,litescope_subsampler_value,0x0000301c,1,rw
csr_register,litescope_storage_enable,0x00003020,1,rw
csr_register,litescope_storage_done,0x00003024,1,ro
csr_register,litescope_storage_length,0x00003028,1,rw
csr_register,litescope_storage_offset,0x0000302c,1,rw
csr_register,litescope_storage_mem_level,0x00003030,1,ro
csr_register,litescope_storage_mem_data,0x00003034,1,ro

And this is how I declared the scope in my code:

count = Signal(8)
        self.sync += count.eq(count + 1)
        analyzer_signals = [
            count
        ]
        self.submodules.litescope = LiteScopeAnalyzer(analyzer_signals,
            depth=1024,
            clock_domain="sys",
            samplerate=self.sys_clk_freq,
            csr_csv="analyzer.csv"
        )
        self.add_csr("analyzer")
bjonnh commented 1 year ago

I tried moving the csr.csv from scripts/csr.csv

That way I do not have to give parameters to litescope_cli, but I still get the same error.

bjonnh commented 1 year ago

Ok for those that were wondering, you also have to name the submodule with the same name... so in my case replacing self.submodules.litescope by self.submodules.analyzer