I am trying to dumb the core on spartan 6 but it has encountered an error
ERROR:NgdBuild:604 - logical block 'i_can_bsp/i_can_fifo/fifo' with type 'RAMB4_S8_S8' could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file, case mismatch between the block name and the edif or ngc file name, or the misspelling of a type name. Symbol 'RAMB4_S8_S8' is not supported in target 'spartan6'. similar for RAMB4_S1_S1 and RAMB4_S4_S4 I got the reason for this problem that macros need to be defined but how and where to define them.
You need to create your own FIFOs. How big and how many can be found inside can_fifo.v.
TIP: logical block 'i_can_bsp/i_can_fifo/fifo' with type 'RAMB4_S8_S8' could not be resolved.
RAMB4_* are obsolete, use xpm_memory_sdpram() on Xilinx platforms.