bpc-los_10 - Greyův_C, tristate IO, simulace, ošetření metastability
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Programovatelná hradlová pole typu FPGA a jazyk VHDL
•
Opakování
•
Vstup výstupní buňka
• Třístavové signály
• Sběrnice
• Simulace kombinačních a sekvenčních
obvodů v jazyku VHDL
Programovatelná hradlová pole typu FPGA a jazyk VHDL
entity b_cnt is
Generic (
WIDTH
: natural := 8);
Port (
RST : in
std_logic;
CLK : in
std_logic;
EN : in
std_logic;
CNT_OUT : out
std_logic_vector(WIDTH - 1 downto 0));
end b_cnt;
architecture Behavioral of b_cnt is
signal cnt_bin
: UNSIGNED(WIDTH - 1 downto 0);
signal cnt_bin_n
: UNSIGNED(WIDTH - 1 downto 0);
constant cnt_init_val : UNSIGNED(WIDTH - 1 downto 0):=(Others=> '0');
constant cnt_type : string := "CNT_INF";
begin
Programovatelná hradlová pole typu FPGA a jazyk VHDL
-- next state (increment binary counter by 1)
CNT_ADD1_INST : if cnt_type = "CNT_ADD1" generate
cnt_bin_n <= cnt_bin + 1;
B_CNT_PROC : PROCESS(CLK, rst)
BEGIN
If rst = '1' Then
cnt_bin <= cnt_init_val;
ElsIf
rising_edge(CLK) Then
If EN = '1' Then
cnt_bin <= cnt_bin_n;
End If;
End If;
END PROCESS;
end generate;
Programovatelná hradlová pole typu FPGA a jazyk VHDL
-- next state (increment binary counter by 1)
CNT_ADD2_INST : if cnt_type = "CNT_ADD2" generate
cnt_bin_n <= cnt_bin when EN = '0' else cnt_bin + 1;
B_CNT_PROC : PROCESS(CLK, rst)
BEGIN
If rst = '1' Then
cnt_bin <= cnt_init_val;
ElsIf
rising_edge(CLK) Then
cnt_bin <= cnt_bin_n;
End If;
END PROCESS;
end generate;
Programovatelná hradlová pole typu FPGA a jazyk VHDL
CNT_INF_INST : if cnt_type = "CNT_INF" generate