Hi, Wes,

Just to clarify, some device offsets are hardcoded in HDL and/or the system.mhs 
template, but other device offsets (e.g. software registers and shared BRAMs) 
are dynamically generated by the toolflow as part of casper_xps.

In any case, your main point is spot on: the core_info.tab file is 
informational only; it reflects the device offsets generated for a given build. 
 Modifying core_info.tab does not have any effect on the actual device offsets. 
 The core_info.tab file is stored in the BOF file along with the FPGA bitstream.

FWIW, I've written a BOF file parser that can extract the core_info.tab file 
information from a given BOF file (optionally compressed).  The code, which 
includes a fair amount of reverse engineered BOF format documentation in the 
comments, can be found here:

git clone http://astro.berkeley.edu/~davidm/rb-bof.git

It includes a script, readbof.rb, that will output the core info file for a 
given bof:

$ readbof.rb roach2_fengine_2013_Sep_24_2154.bof.gz
sys_board_id       3        0        4
sys_rev            3        4        4
sys_rev_rcs        3        8        4
sys_scratchpad     3        c        4
sys_clkcounter     3       10        4
adc16_controller   3    20000     9000
sfp_gpio_data_in   3    60000        4
sfp_gpio_data_out  3    60004        4
sfp_gpio_data_oe   3    60008        4
sfp_gpio_data_ded  3    6000c        4
sfp_mdio_sel       3    60010        4
sfp_op_issue       3    60014        4
sfp_op_type        3    60018        4
sfp_op_addr        3    6001c        4
sfp_op_data        3    60020        4
sfp_op_result      3    60024        4
sfp_op_dbg         3    60028        4
sfp_op_dbg1        3    6002c        4
ctmode             3  1000000        4
delay_0            3  1000100        4
[snip]

The first column is the device name, the second column is some flags (almost 
always 3 meaning read/write), the third column is the hexadecimal device offset 
(in bytes), and the fourth column is the hexadecimal device length (in bytes).

Dave

On Oct 21, 2013, at 11:31 PM, Wesley New wrote:

> Hi Ross,
> 
> The coreinfo.tab file serves only to tell borph there the registers are 
> located, so changing it would only give borph the wrong mapping. These 
> registers are hard-coded in the HDL in the sys_block. Why do you need to 
> change these addresses?
> 
> To change them you would need to modify the HDL and the coreinfo.tab (if you 
> wanted access to them, by name, from borph) and then ensure that the 
> BASE_ADDR and HIGH_ADDR parameters are set correctly. Be aware that this 
> might cause multiple devices to be mapped to the same space and go BOOM! 
> Probably only when you try to access that address ;)
> 
> Wes
> 
> Wesley New
> South African SKA Project
> +2721 506 7365
> www.ska.ac.za
> 
> 
> 
> 
> On Tue, Oct 22, 2013 at 3:04 AM, Ross Williamson 
> <[email protected]> wrote:
> Hi Wes and all,
> 
> So the MMAP is working really quite well on a ROACH-1 - This question
> is more my lack of understanding of the tool-chain.
> 
> Does anybody know how to fix the memory address for the various CASPER
> brams and registers. I edited the core_info.tab inside the copied
> XPS_ROACH_BASE and unchecked "Copy base package" but It still was
> overwritten (I'm assuming this is in the system generator stage).  I'd
> rather not hack the top level core_info.tab so what would be the best
> way to define the memory locations?
> 
> Ross
> 
> On Tue, Oct 15, 2013 at 4:48 PM, Ross Williamson
> <[email protected]> wrote:
> > Hi Wes,
> >
> > Thanks - I got the MMAP up and running on a ROACH1 with those instructions.
> >
> > R
> >
> > On Tue, Oct 15, 2013 at 12:19 AM, Wesley New <[email protected]> wrote:
> >> Hi Ross,
> >>
> >> The steps should be outlined here.
> >> https://casper.berkeley.edu/wiki/FPGA_Device_Driver_Memo
> >>
> >> I am not sure if these steps work for ROACH1 and 2 but at least it is a
> >> starting point.
> >>
> >> Wes
> >>
> >> Wesley New
> >> South African SKA Project
> >> +2721 506 7365
> >> www.ska.ac.za
> >>
> >>
> >>
> >>
> >> On Tue, Oct 15, 2013 at 3:09 AM, Ross Williamson
> >> <[email protected]> wrote:
> >>>
> >>> Hi All,
> >>>
> >>> I know from the CASPER meeting that MMAP is available for the ROACH-1.
> >>> Are there any instructions anywhere on getting it up and running?
> >>>
> >>> Best regards,
> >>>
> >>> Ross
> >>>
> >>> --
> >>> Ross Williamson
> >>> Research Scientist - Sub-mm Group
> >>> California Institute of Technology
> >>> 626-395-2647 (office)
> >>> 312-504-3051 (Cell)
> >>>
> >>
> >
> >
> >
> > --
> > Ross Williamson
> > Research Scientist - Sub-mm Group
> > California Institute of Technology
> > 626-395-2647 (office)
> > 312-504-3051 (Cell)
> 
> 
> 
> --
> Ross Williamson
> Research Scientist - Sub-mm Group
> California Institute of Technology
> 626-395-2647 (office)
> 312-504-3051 (Cell)
> 


Reply via email to