lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / cnes_guidelines / rule / data / STD_00700_good.vhd @ 2051e520
History | View | Annotate | Download (2.97 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-01 : Mickael Carl (CNES): Creation |
10 |
------------------------------------------------------------------------------------------------- |
11 |
-- File name : STD_00700_good.vhd |
12 |
-- File Creation date : 2015-04-01 |
13 |
-- Project name : VHDL Handbook CNES Edition |
14 |
------------------------------------------------------------------------------------------------- |
15 |
-- Softwares : Microsoft Windows (Windows 7) - Editor (Eclipse + VEditor) |
16 |
------------------------------------------------------------------------------------------------- |
17 |
-- Description : Handbook example: Preservation of signal name: 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 |
library work; |
52 |
use work.pkg_HBK.all; |
53 |
|
54 |
entity STD_00700_good is |
55 |
port ( |
56 |
i_Clock : in std_logic; -- Clock signal |
57 |
i_Reset_n : in std_logic; -- Reset signal |
58 |
i_D : in std_logic; -- D Flip-Flop input signal |
59 |
o_Q : out std_logic -- D Flip-Flop output signal |
60 |
); |
61 |
end STD_00700_good; |
62 |
|
63 |
--CODE |
64 |
architecture Behavioral of STD_00700_good is |
65 |
signal D : std_logic; -- First Flip-Flop output |
66 |
signal Q : std_logic; -- Block output |
67 |
begin |
68 |
DFlipFlop1 : DFlipFlop |
69 |
port map ( |
70 |
i_Clock => i_Clock, |
71 |
i_Reset_n => i_Reset_n, |
72 |
i_D => i_D, |
73 |
o_Q => D, |
74 |
o_Q_n => open |
75 |
); |
76 |
|
77 |
P_FlipFlop : process(i_Reset_n, i_Clock) |
78 |
begin |
79 |
if (i_Reset_n = '0') then |
80 |
Q <= '0'; |
81 |
elsif (rising_edge(i_Clock)) then |
82 |
Q <= D; |
83 |
end if; |
84 |
end process; |
85 |
end Behavioral; |
86 |
--CODE |