Skip to content

adc5g_init.m initialization script for Matlab 2010 and above. - #1

Open
cs150bf wants to merge 64 commits into
Smithsonian:masterfrom
cs150bf:master
Open

adc5g_init.m initialization script for Matlab 2010 and above.#1
cs150bf wants to merge 64 commits into
Smithsonian:masterfrom
cs150bf:master

Conversation

@cs150bf

@cs150bf cs150bf commented Dec 20, 2012

Copy link
Copy Markdown

Only adc5g_init.m (sorry)

To fit changes in Simulink Downsample block

  • Default values for Downsample block: sample based, allow multi-rate processing

(The Simulink block "Downsample" has went through multiple changes since 2009, and its default parameters have actually changed)

Default value in R2009b:
downsample_default_r2009b

Default value in R2012a:
downsample_default_r2012a

Set value to:
downsample_TOSET_r2012a

Effect:
downsample_effect

Some concerns
(1) The Downsample block is from Simulink block set and it has gone through some major changes since 2009. The block parameters, are implemented as pop up options in the Mask Dialogue and evaluated to integers, which is kind of awkward because it's hard for us to do something that's robust enough to stand up to future changes done by Simulink... (Say, now 'RateOptions' = 0 refers to 'Enforce single-rate processing', but could it be always the case?)

(2) Getting the Matlab version number is currently awkwardly implemented... I don't know if there's a dedicated function similar to get_xlVersion() for xilinx that exists somewhere in Casper Library, or is there some traditional way that we deal with blocks that has dependency on Simulink version... Don't know, but right now the implementation goes like this:

  • get a string of version number using matlab function 'version'
  • find 'R' in the raw string
  • grab the four digits that comes after the 'R'... assuming there's only one 'R'
  • these four digits should be the release year
    But as you can see, this is quite awkward and vulnerable for future changes of Matlab

(3) The extra parameters for designs opened with Matlab version newer than 2009 .... they are attempting to stay consistent with pre-2009 versions, by preserving the old default values. But ... (see screenshots for the default values of this Downsample block for pre-2009 version and for 2012 version)

amartens and others added 30 commits August 27, 2012 13:20
fft_biplex in the libraries contained a stale version of the biplex_core
block. This caused errors with setting up the FFT family in some cases.

Internal unscambler in fft_biplex moved to casper_libraries_ffts_internal.
fft_biplex_init changed to fully draw the fft_biplex block with a default
empty state in the library (removing the chance of fft_biplex containing i
a stale block). fft now draws and simulates correctly.
cleanup commit c77818c broke adc083000x2. Added blocks back to ADCs
section.
BEE2 base project
iBOB base project
generic pcores
also removed framebuffer as it was only used by the iBOB
biplex_cplx_unscrambler was moved to FFTs/Internal but the link to
the library was not properly disabled. Initialization commands were moved
to a proper script and munge_init added to disable the links.
It seems there was an idea to create an adc_lib and some blocks were
moved there, but the move was abandoned part way through.
removed references to adc_lib.
replaced reuse_line with add_line.
replaced 'simulink/Sources/In1' with 'built-in/Inport'
replaced 'simulink/Sinks/Out1' with 'built-in/Outport'
All three PFBs (only fully tested with pfb fir real though) have a new option which allows for delays to be added between the address counter and the ROMs that hold the coefficients. For designs with large channel/tap counts, this was becoming a timing bottleneck.
The input block location should be converted to lower case as well as the
location found for the block with the same name. (thanks Glen)
Removed the following blocks:
XAUI - Only supported BEE2 and iBOB
CORR_mxfe
CORR_fr
CORR_adc
CORR_dac
iBOB_lwip
frame_buffer
vsi
dac_iBOB
sram

Edited the following blocks:
XSG core config - Removed iBOB, BEE2 and CORR options
GPIOs - Removed iBOB, BEE2 and CORR options
DRAM - removed support for multiple DIMMs
removing the scripts associated with the blocks removed in the previous commit
Also removed older unused versions
This ADC is the e2v AT84AS008 ADC, with a e2v AT84CS001 1:2 DEMUX.
The yellow block does another 1:2 DEMUX stage, to yield a 1:4 DEMUX.
The XAUI block is actually still supported on the ROACH boards
…ng on the demux by 2 stage.

Updated ADC1x1800-10 interface to rather use ISERDES I/O to ease
timing on the demux by 2 stage. The interface uses a modified
version of the ADC 5G demux by 1 interface.
Jason Manley and others added 30 commits September 13, 2012 14:48
renamed software registers from gpio_data_oe to sfp_gpio_data_oe.
A bus cycle is executed twice, because the cmnd_got signal is still
active when the slave ack. This causes slaves that traditionally uses
byte enable active [3] to control bus cycles to execute twice.

On the epb32 the byte enables are all active at the same time. This
fix will ensure that only one cycle is initiated.

Do NOT use BE[*] signals on ROACH2 for flow control.
Conflicts:
	xps_library/xps_library.mdl
empty lines in the ROACH2 core_info.tab file was causing errors.
Default install locations.
Fewer environment variables.
Fix to new Xilinx paths.
P37 -> N31 (zdok1.76 or 38n)
N36 -> M31 (zdok1.75 or 38p)

M37 -> P37 (zdok0.24 or 12n)
M36 -> N36 (zdok0.23 pr 12p)

N31 -> M32 (zdok1.58 or 29n)
M31 -> M33 (zdok1.57 or 29p)

M32 -> M37 (zdok0.4 or 2n)
M33 -> M36 (zdok0.3 or 2p)

M34 -> L37 (zdok0.44 or 22n)
L34 -> K37 (zdok0.43 or 22p)

L37 -> M34 (zdok0.28 or 14n)
K37 -> L34 (zdok0.27 or 14p)
(1) opb_v20_.. pcore: mpd file needs the virtex6 line.... the one in pcores_for_ise13 is missing this particular line and it won't work for ROACH2.
Symptom: error messages complaining opb pcore not supported for architecture virtex6 something)
(2) mkbof_64 doesn't work for me... ubuntu/redhat or something else?
Symptom: bit file can be generated without problem, but bof file cannot be generated (error message: GLIC? something something is missing, lib, mkbof_64, blah blah)
triggered_counter contains an outdated edge_detect block
Some other things to check (trivial...):
1) pulse_ext contains a posedge block, a good time to change that?
2) .... snap blocks?
3) (!) still have no clue about the '\n' in block path thing...> <
(But what was the solution to the problem that it complained XPS failed? > <)
…nd* error message that I saw (after .bit file is succesfully generated).

See also: line 639 (the error message)
line 617-633 (this commit)
line 591 (other places the uppercased 'ROACH', 'ROACH2' show up)
+ ROACH fix (sys_clk2x_mmcm)
…y the version of CASPER library that they are using
…ib_devel

Conflicts:
	xps_lib/XPS_ROACH2_base/pcores/gbe_udp_v1_00_a/hdl/verilog/gbe_cpu_attach.v
	xps_library/xps_library.mdl
…ter, but this is clean and I think solves our problem for now.
…ter, but this is clean and I think solves our problem for now. [re-committing because the previous commit was messed-up, didn't expected some changes has already been made to the file]
…erge branch 'master' of github.com:cs150bf/mlib_devel

Conflicts:
	casper_library/dec_fir_init.m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants