Skip to content

MJoergen/Avalon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f30d02f · Jul 11, 2024
Feb 15, 2022
Dec 12, 2023
Jul 11, 2024
Feb 15, 2022
May 20, 2022
Oct 16, 2022
Oct 16, 2022
Jul 11, 2024
Jul 11, 2024
Oct 15, 2022
Oct 15, 2022
Oct 17, 2022
Oct 19, 2022
Apr 19, 2022
Oct 10, 2022
Mar 6, 2023
Mar 6, 2023
Mar 7, 2023
Mar 7, 2023
Jul 11, 2024
Oct 7, 2022
Oct 7, 2022
Oct 7, 2022
Oct 17, 2022
Jul 11, 2024
Jul 11, 2024
Jul 11, 2024
Jul 11, 2024
Jul 11, 2024
Jul 10, 2024
Sep 30, 2022
Oct 6, 2022
Oct 12, 2022
Mar 6, 2023
Oct 13, 2022
Mar 6, 2023
Mar 6, 2023
Jul 10, 2024
Jul 11, 2024
May 20, 2022
Oct 31, 2022
Oct 31, 2022
Oct 31, 2022
Oct 31, 2022
Oct 10, 2022
Oct 30, 2022
Oct 31, 2022
Jul 20, 2023
Jul 20, 2023
Jul 20, 2023
Jul 20, 2023
Jul 20, 2023
Oct 31, 2022
Oct 31, 2022
Oct 31, 2022
Oct 31, 2022
Mar 6, 2023
Mar 7, 2023
Jul 11, 2024
Jul 11, 2024
Jul 10, 2024
May 20, 2022
May 20, 2022
Jul 11, 2024
Jul 11, 2024
Oct 17, 2022
Oct 14, 2022
Oct 13, 2022
Oct 17, 2022
Oct 15, 2022
Feb 21, 2022
Oct 17, 2022
Mar 7, 2023
Mar 6, 2023
Oct 17, 2022
Oct 17, 2022
Jul 10, 2024
Jul 10, 2024
Mar 6, 2023
Mar 6, 2023
Oct 31, 2022
Oct 31, 2022
Oct 31, 2022
Oct 31, 2022
Mar 7, 2023
Mar 7, 2023

Repository files navigation

Avalon

This repo contains various utilities for Avalon Memory Map. This is an industry standard bus interface for connecting peripherals (e.g. memory and I/O devices) to a bus master (e.g. a CPU).

Avalon Memory Map interface

Here is a brief summary of the signals involved in the Avalon Memory Map interface. For full details, refer to Section 3 of the specification. These blocks all use "Pipelined Read Transfer with Variable Latency", see section 3.5.4 and Figure 12, and support burst mode, see section 3.5.5. They do not use the "waitrequestAllowance" property.

Signal Description
write Asserted by client when sending data to the device.
read Asserted by client when requesting data from the device.
address The address (in units of words).
writedata The data to send to the device.
byteenable 1-bit for each byte of data to the device.
burstcount Number of words to transfer.
readdata Data receive from the device.
readdatavalid Asserted when data from the device is valid.
waitrequest Asserted by the device when it is busy.

avm_memory.vhd

This generates a block of memory (BRAM).

avm_master.vhd

This acts as an Avalon Master (instead of a CPU) to generate some test trafic.

avm_decrease.vhd

This utility connects a Master and a Slave, where the two have different data widths. Specifically, the Master data width is expected to be larger than the Slave data width. A single Master request is converted into a burst mode request to the Slave.

avm_pause.vhd

This inserts small pauses into the Avalon Memory Map interface. This is useful to increase test coverage.