vhdl-style-guide
3.13.1

Contents:

  • Overview
  • Gallery
    • Entities
    • Architectures
    • Component Declarations
    • Component Instantiations
    • Concurrent Signal Assignments
  • Installation
  • Usage
  • Formatting Terminal Output
  • Styles
  • Configuring
  • Code Tags
  • Continuous Integration Servers
  • Editor Integration
  • Tool Integration
  • Pragmas
  • Localizing
  • Phases
  • Rule Severity
  • Rule Groups
  • Rules
  • Contributing
  • Setting up a Development Environment
  • Release Notes
vhdl-style-guide
  • Docs »
  • Gallery
  • Edit on GitHub

Gallery¶

The examples shown below illustrate the formatting enforced by VSG. They show a subset of the rules:

  • capitalization
  • indentation
  • column alignments
    • comments
    • :’s
    • assignment operators (<= and =>)
  • vertical spacing

Entities¶

entity GRP_DEBOUNCER is
  generic (
    N       : positive := 8;                      -- input bus width
    CNT_VAL : positive := 10000                   -- clock counts for debounce period
  );
  port (
    CLK_I  : in    std_logic := 'X';              -- system clock
    DATA_I : in    std_logic_vector(1 downto 0)   -- noisy input data
    DATA_O : out   std_logic_vector(1 downto 0);  -- registered stable output data
    STRB_O : out   std_logic                      -- strobe for new data available
  );
end entity GRP_DEBOUNCER;

Architectures¶

architecture BEHAVIORAL of PIC is

  type state_type is (
    reset_s, get_commands, jump_int_method, start_polling,
    ack_txinfo_rxd, start_priority_check, tx_int_info_priority
  );

  signal next_s               : state_type :=reset_s;
  signal int_type             : unsigned(1 downto 0):="01";
  signal int_index, count_cmd : integer := 0;

  type prior_table is array (0 to 7) of unsigned(2 downto 0);

  signal pt                   : prior_table := (others => (others => '0'));
  signal int_pt               : unsigned(2 downto 0):="000";
  signal flag,      flag1     : std_logic := '0';

begin

end architecture BEHAVIORAL;

Component Declarations¶

component CPU is
  port (
    CLK_I        : in    std_logic;
    SWITCH       : in    std_logic_vector(9 downto 0);

    SER_IN       : in    std_logic;
    SER_OUT      : out   std_logic;

    TEMP_SPO     : in    std_logic;
    TEMP_SPI     : out   std_logic;
    TEMP_CE      : out   std_logic;
    TEMP_SCLK    : out   std_logic;

    SEG1         : out   std_logic_vector(7 downto 0);
    SEG2         : out   std_logic_vector( 7 downto 0);
    LED          : out   std_logic_vector( 7 downto 0);

    XM_ADR       : out   std_logic_vector(15 downto 0);
    XM_RDAT      : in    std_logic_vector( 7 downto 0);
    XM_WDAT      : out   std_logic_vector( 7 downto 0);
    XM_WE        : out   std_logic;
    XM_CE        : out   std_logic
  );
end component;

Component Instantiations¶

INTERLEAVER_I0 : INTERLEAVER
  generic map (
    DELAY       => TREL1_LEN + TREL2_LEN + 2 + delay,
    WAY         => 0
  )
  port map (
    CLK         => clk,
    RST         => rst,
    D           => tmp0,
    Q           => tmp1
  );

Concurrent Signal Assignments¶

nCounter       <= x"FFFFFF" when Counter=x"FFFFFF" and Button='1' else
                  x"000000" when Counter=x"000000" and Button='0' else
                  Counter + 1 when Button='1' else
                  Counter - 1;
nextHistory    <= '0' when Counter=x"000000" else
                  '1';
nButtonHistory <= nextHistory & ButtonHistory(1);
Dout           <= '1' when ButtonHistory="01" else
                  '0';
Next Previous

© Copyright 2017-2020, Jeremiah C Leary Revision 7ea23f0f.

Built with Sphinx using a theme provided by Read the Docs.