CAN 2.0B + AXI4-Lite Core v1.0

Created: 25-05-2025
Contact: support@vyomex.in
License: Project-based (redistribution/sublicensing prohibited)

Overview

The CAN 2.0B + AXI4-Lite Core is a Verilog IP providing a lightweight, synthesizable Controller Area Network (CAN 2.0B) controller wrapped with an AXI4-Lite bus interface. It enables seamless integration into FPGA/SoC platforms, offering standard CAN communication with configurable bit timing, transmit/receive buffers, and protocol-level handling.

Applications

Key Features

Architecture

The core consists of two primary layers:

AXI4-Lite Interfaces & Ports

Port NameDirWidthDescription
s_axi_aclkIn1AXI4-Lite clock
s_axi_aresetnIn1AXI4-Lite reset (active low)
s_axi_awaddrIn6Write address
s_axi_awvalidIn1Write address valid
s_axi_awreadyOut1Write address ready
s_axi_wdataIn32Write data
s_axi_wvalidIn1Write valid
s_axi_wreadyOut1Write ready
s_axi_brespOut2Write response
s_axi_bvalidOut1Write response valid
s_axi_breadyIn1Write response ready
s_axi_araddrIn6Read address
s_axi_arvalidIn1Read address valid
s_axi_arreadyOut1Read address ready
s_axi_rdataOut32Read data
s_axi_rrespOut2Read response
s_axi_rvalidOut1Read valid
s_axi_rreadyIn1Read ready
rxIn1CAN bus receive line
txOut1CAN bus transmit line

Register Map (Partial)

AddressNameWidthDescription
0x00TX_START1Start transmission (bit 0)
0x04STATUS2[1]=Busy, [0]=TX Done
0x08BIT_TIMING112BRP [7:0], SJW [11:8]
0x0CBIT_TIMING28TSEG1 [3:0], TSEG2 [7:4]
0x10ID & Frame32ID[28:0], IDE, RTR
0x14DLC4Data Length Code
0x18TX_DATA_LO32TX payload lower 32 bits
0x1CTX_DATA_HI32TX payload upper 32 bits
0x20RX_DATA_LO32RX payload lower 32 bits
0x24RX_DATA_HI32RX payload upper 32 bits
0x28RX_ID32RX ID, IDE, RTR
0x2CRX_STATUS1RX data valid flag

Resource Utilization

ResourceUsage
LUTs416
Flip-Flops473
Block RAM0
DSP Slices0

Note: Resource utilization depends on synthesis tool, target FPGA family, and optimization settings. Reported numbers are indicative for typical configurations.

Deliverables

Licensing & Support