Generic Map Rules

generic_map_001

phase_6 error

This rule checks the generic map keywords have proper case.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

GENERIC MAP (

Fix

generic map (

generic_map_002

phase_6 error

This rule checks generic names have proper case.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

generic map (
  DEPTH => 512,
  WIDTH => 32
)

Fix

generic map (
  depth => 512,
  width => 32
)

generic_map_003

phase_1 error

This rule checks the ( is on the same line as the generic map keywords.

Violation

generic map
(
  WIDTH => 32,
  DEPTH => 512
)

Fix

Use explicit port mapping.

generic map (
  WIDTH => 32,
  DEPTH => 512
)

generic_map_004

phase_1 error

This rule checks for the closing parenthesis ) on generic maps are on their own line.

Violation

generic map (
  GENERIC_1 => 0,
  GENERIC_2 => TRUE,
  GENERIC_3 => FALSE)

Fix

generic map (
  GENERIC_1 => 0,
  GENERIC_2 => TRUE,
  GENERIC_3 => FALSE
)

generic_map_005

phase_1 error

This rule checks if the generic map keywords and a generic assignment are on the same line.

Violation

generic map (DEPTH => 512,
  WIDTH => 32
)

Fix

generic map (
  DEPTH => 512,
  WIDTH => 32
)

generic_map_006

phase_2 error

This rule checks for a single space between the map keyword and the (.

Violation

generic map(

generic map   (

Fix

generic map (

generic map (

generic_map_007

phase_2 error

This rule checks for a single space after the => keyword in generic maps.

Violation

generic map
(
  WIDTH =>    32,
  DEPTH => 512
)

Fix

generic map
(
  WIDTH => 32,
  DEPTH => 512
)

generic_map_008

phase_1 error

This rule checks for positional generics. Positional ports and generics are subject to problems when the position of the underlying component changes.

Violation

port map (
  WR_EN, RD_EN, OVERFLOW
);

Fix

Use explicit port mapping.

port map (
  WR_EN    => WR_EN,
  RD_EN    => RD_EN,
  OVERFLOW => OVERFLOW
);