Engee documentation

Simple Dual Port RAM

Page in progress.

Dual-port RAM with one output port.

simple dual port ram

Description

Block Simple Dual Port RAM simulates a RAM that supports simultaneous read and write operations and has a single output port for reading data.

Simple dual-port RAM is similar to dual-port RAM, but dual-port RAM has both a write output port and a read output port.

Read and write behaviour

During a write operation, if a read operation occurs at the same address, the old data appears on the output.

Ports

Input

# wr_din — write input
scalar

Details

The data you write to a RAM memory location when the wr_en signal is true. The data type is defined by the Data type parameters.

Data types

Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | UInt16 | UInt32 | UInt32 | UInt32 | UInt32 | UInt64 | Int128 | UInt128 | Bool | Fixed-point

Complex numbers support

Yes

# wr_addr — record address
scalar

Details

The write address to which you write data when the wr_en signal is true.

Data types

UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-point

Complex numbers support

No

# wr_en — recording permission
scalar

Details

Recording resolution.

  • If wr_en is true, RAM writes data to the memory location you specify.

Data types

Bool.

Complex numbers support

No

# rd_addr — read address
scalar

Details

The address from which you are reading data.

Data types

UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-point

Complex numbers support

No

Output

# rd_dout — data output from the read address
scalar

Details

Output data from the read address, rd_addr.

Data types

Float32 | Float63 | int8 | Int16 | Int32 | Int64 | Uint8 | Uint16 | Uint32 | Uint64 | Bool | Fixed-point

Complex numbers support

No

Parameters

Parameters

# Address port width (2 to 29 bits) — address bit width

Details

The width of the address bit.

The minimum bit width is 2 and the maximum is 29.

Default value

8

Program usage name

Width

Tunable

No

Evaluatable

Yes

# Data type — data type
Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool | Fixed-point

Details

Data Type. Defined as:

  • Float64.

  • Float32

  • Float16

  • Int8

  • `UInt8

  • `Int16

  • `UInt16

  • Int32

  • `UInt32

  • Int64

  • UInt64

  • Int128

  • `UInt128

  • Bool

  • Fixed-point

Values

Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool | Fixed-point

Default value

Float64

Program usage name

DType

Tunable

No

Evaluatable

Yes

# Output fixed-point type — fixed point output type

Details

Fixed point output type.

Dependencies

To use this parameter, set the Data type parameters to Fixed-point.

Default value

fixdt(1,16,0)

Program usage name

OutDataTypeStrFixed

Tunable

No

Evaluatable

Yes

# Signal type — signal type
Real | Complex

Details

Signal Type. Defined as:

  • Real.

  • Complex

Values

Real | Complex

Default value

Real

Program usage name

SType

Tunable

No

Evaluatable

Yes

Additional options

C code generation: Yes