Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / cnes_guidelines / rule / data / STD_05300_good.vhd @ 2051e520

History | View | Annotate | Download (2.71 KB)

1
-------------------------------------------------------------------------------------------------
2
-- Company   : CNES
3
-- Author    : Mickael Carl (CNES)
4
-- Copyright : Copyright (c) CNES.
5
-- Licensing : GNU GPLv3
6
-------------------------------------------------------------------------------------------------
7
-- Version         : V1
8
-- Version history :
9
--    V1 : 2015-04-07 : Mickael Carl (CNES): Creation
10
-------------------------------------------------------------------------------------------------
11
-- File name          : STD_05300_good.vhd
12
-- File Creation date : 2015-04-07
13
-- Project name       : VHDL Handbook CNES Edition
14
-------------------------------------------------------------------------------------------------
15
-- Softwares             :  Microsoft Windows (Windows 7) - Editor (Eclipse + VEditor)
16
-------------------------------------------------------------------------------------------------
17
-- Description : Handbook example: Sensitivity list for combinational processes: good example
18
--
19
-- Limitations : This file is an example of the VHDL handbook made by CNES. It is a stub aimed at
20
--               demonstrating good practices in VHDL and as such, its design is minimalistic.
21
--               It is provided as is, without any warranty.
22
--
23
-------------------------------------------------------------------------------------------------
24
-- Naming conventions:
25
--
26
-- i_Port: Input entity port
27
-- o_Port: Output entity port
28
-- b_Port: Bidirectional entity port
29
-- g_My_Generic: Generic entity port
30
--
31
-- c_My_Constant: Constant definition
32
-- t_My_Type: Custom type definition
33
--
34
-- My_Signal_n: Active low signal
35
-- v_My_Variable: Variable
36
-- sm_My_Signal: FSM signal
37
-- pkg_Param: Element Param coming from a package
38
--
39
-- My_Signal_re: Rising edge detection of My_Signal
40
-- My_Signal_fe: Falling edge detection of My_Signal
41
-- My_Signal_rX: X times registered My_Signal signal
42
--
43
-- P_Process_Name: Process
44
--
45
-------------------------------------------------------------------------------------------------
46

    
47
library IEEE;
48
use IEEE.std_logic_1164.all;
49
use IEEE.numeric_std.all;
50

    
51
entity STD_05300_good is
52
   port (
53
      i_A : in  std_logic;              -- First Mux input
54
      i_B : in  std_logic;              -- Second Mux input
55
      i_S : in  std_logic;              -- Mux selector
56
      o_O : out std_logic               -- Mux output
57
      );
58
end STD_05300_good;
59

    
60
architecture Behavioral of STD_05300_good is
61
   signal O : std_logic;                -- Mux output
62
begin
63
--CODE
64
   -- Simple Mux asynchronous process with complete sensitivity list
65
   P_Mux : process(i_S, i_A, i_B)
66
   begin
67
      if (i_S = '1') then
68
         O <= i_B;
69
      else
70
         O <= i_A;
71
      end if;
72
   end process;
73

    
74
   o_O <= O;
75
--CODE
76
end Behavioral;