Skip to content

Latest commit

 

History

History
277 lines (173 loc) · 3.85 KB

generic_map_rules.rst

File metadata and controls

277 lines (173 loc) · 3.85 KB

Generic Map Rules

generic_map_001

|phase_6| |error| |case| |case_keyword|

This rule checks the generic map keywords have proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

GENERIC MAP (

Fix

generic map (

generic_map_002

|phase_6| |error| |case| |case_name|

This rule checks generic names have proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

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

Fix

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

generic_map_003

|phase_1| |error| |structure|

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| |structure|

This rule checks the location of the closing ")" character for the generic map.

The default location is on a line by itself.

|configuring_move_token_rules_link|

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| |structure|

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| |whitespace|

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

|configuring_whitespace_rules_link|

Violation

generic map(

generic map   (

Fix

generic map (

generic map (

generic_map_007

|phase_2| |error| |whitespace|

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

|configuring_whitespace_rules_link|

Violation

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

Fix

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

generic_map_008

|phase_1| |error| |structure|

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
);

generic_map_600

|phase_7| |disabled| |error| |naming|

This rule checks for valid suffixes on generic identifiers in generic maps The default generic suffix is _g.

|configuring_prefix_and_suffix_rules_link|

Violation

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

Fix

generic map
(
  WIDTH_G => 32,
  DEPTH_G => 512
)

generic_map_601

|phase_7| |disabled| |error| |naming|

This rule checks for valid prefixes on generic identifiers in generic maps The default generic suffix is g_.

|configuring_prefix_and_suffix_rules_link|

Violation

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

Fix

generic map
(
  G_WIDTH => 32,
  G_DEPTH => 512
)