Accumulator Library

Purpose

The accumulator library contains all casper_accumulator HDL modules wrapped for Simulink. This library contains several instances of vector accumulator blocks which are particularly useful in the field of Radio Astronomy.

Addr Bram Vacc

This simple vector accumulator is based on a shift register. It outputs its previous accumulated vector after a new_acc pulse is received.

Ports

Signal

Type

Size

Description

new_acc

std_logic

1

This port accepts the pulse signal indicating the start of a vector for accumulation.

din

std_logic_vector

any

The input into which the vector is supplied one element at a time.

addr

std_logic_vector

ceil(log2(vector_length))

Vector address port out (index).

dout

std_logic_vector

any

The accumulated vector indices out.

we

std_logic

1

Signal indicates valid dout.

Parameters

Generic

Type

Value

Description

Vector length

Natural

10

The length of the vector to accumulate.

Output sign

String

“SIGNED”

Value options of “SIGNED” and “UNSIGNED” for dout type.

Output bitwidth

Natural

18

Output bitwidth for dout type.

Output bin pt

Natural

0

Output binary point for dout type.

Simple Bram Vacc

This simple vector accumulator is based on a shift register. It outputs its previous accumulated vector after a new_acc pulse is received.

Ports

Signal

Type

Size

Description

new_acc

std_logic

1

This port accepts the pulse signal indicating the start of a vector for accumulation.

din

std_logic_vector

any

The input into which the vector is supplied one element at a time.

dout

std_logic_vector

any

The accumulated vector indices out.

valid

std_logic

1

Signal indicates valid dout.

Parameters

Generic

Type

Value

Description

Vector length

Natural

10

The length of the vector to accumulate.

Output sign

String

“SIGNED”

Value options of “SIGNED” and “UNSIGNED” for dout type.

Output bitwidth

Natural

18

Output bitwidth for dout type.

Output bin pt

Natural

0

Output binary point for dout type.

DSP48e BRAM VACC

A vector accumulator modeled after a shift register. It outputs its previous accumulated vector after a new_acc pulse is received. Based on the simple_bram_vacc block, this version replaces the adder and mux with a single DSP48E block, allowing high-speed compilation. Output bit width cannot exceed 32. Output binary point matches the input.

Ports

Signal

Type

Size

Description

new_acc

std_logic

1

This port accepts the pulse signal indicating the start of a vector for accumulation.

din

std_logic_vector

any

The input into which the vector is supplied one element at a time.

dout

std_logic_vector

any

The accumulated vector indices out.

valid

std_logic

1

Signal indicates valid dout.

Parameters

Generic

Type

Value

Description

Vector length

Natural

10

The length of the vector to accumulate.

Output sign

String

“SIGNED”

Value options of “SIGNED” and “UNSIGNED” for dout type.

Output bitwidth

Natural

18

Output bitwidth for dout type.

Output bin pt

Natural

0

Output binary point for dout type.

DSP48e version

Natural

1

Options are 1 or 2 for DSP48e1 and DSP48e2 respectively.