⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example_en_24bit_a.vhd

📁 VHDL examples for counter design, use QuickLogic eclips
💻 VHD
📖 第 1 页 / 共 2 页
字号:
                 Q2Z : Out   STD_LOGIC;
                  QZ : Out   STD_LOGIC );
   end component;

begin


   count(7 downto 0) <= count_DUMMY(7 downto 0);
   en_8bit_a <= en_8bit_a_DUMMY;
   I8 : COUNTER_EN_4BIT_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable,
                 enablehbit_a=>enableh4bit, qa_r=>count_DUMMY(3),
                 qb_r=>count_DUMMY(2), qc_r=>count_DUMMY(1),
                 qd_r=>count_DUMMY(0) );
   I9 : COUNTER_EN_4BIT_A
      Port Map ( clear=>clear, clk=>clk, enable=>enableh4bit,
                 enablehbit_a=>open, qa_r=>count_DUMMY(7),
                 qb_r=>count_DUMMY(6), qc_r=>count_DUMMY(5),
                 qd_r=>count_DUMMY(4) );
   I1 : SUPER_LOGIC
      Port Map ( A1=>count_DUMMY(0), A2=>gnd, A3=>count_DUMMY(1),
                 A4=>gnd, A5=>count_DUMMY(2), A6=>gnd, B1=>vcc, B2=>gnd,
                 C1=>vcc, C2=>gnd, D1=>vcc, D2=>gnd, E1=>vcc, E2=>gnd,
                 F1=>count_DUMMY(6), F2=>gnd, F3=>count_DUMMY(7),
                 F4=>gnd, F5=>enable, F6=>gnd, MP=>gnd, MS=>gnd, NP=>gnd,
                 \NS\=>gnd, OP=>gnd, OS=>gnd, PP=>gnd, PS=>gnd, QC=>gnd,
                 QR=>gnd, QS=>gnd, AZ=>en_8bit1_a, FZ=>en_8bit2_a,
                 NZ=>open, OZ=>open, Q2Z=>open, QZ=>open );
   I2 : SUPER_LOGIC
      Port Map ( A1=>count_DUMMY(3), A2=>gnd, A3=>count_DUMMY(4),
                 A4=>gnd, A5=>count_DUMMY(5), A6=>gnd, B1=>vcc, B2=>gnd,
                 C1=>vcc, C2=>gnd, D1=>vcc, D2=>gnd, E1=>vcc, E2=>gnd,
                 F1=>en_8bit1_a, F2=>gnd, F3=>en_8bit2_a, F4=>gnd,
                 F5=>en_8bit3_a, F6=>gnd, MP=>gnd, MS=>gnd, NP=>gnd,
                 \NS\=>gnd, OP=>gnd, OS=>gnd, PP=>gnd, PS=>gnd, QC=>gnd,
                 QR=>gnd, QS=>gnd, AZ=>en_8bit3_a, FZ=>en_8bit_a_DUMMY,
                 NZ=>open, OZ=>open, Q2Z=>open, QZ=>open );

end SCHEMATIC;

library IEEE;
use IEEE.std_logic_1164.all;
entity COUNTER_EN_16BIT_A is
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR (15 downto 0) );

   attribute syn_isclock: boolean;
 attribute syn_isclock of clk: signal is true;
end COUNTER_EN_16BIT_A;


architecture SCHEMATIC of COUNTER_EN_16BIT_A is

	attribute syn_macro : integer;
	attribute dont_touch     : boolean;
	attribute syn_macro of SCHEMATIC : architecture is 1;
	attribute dont_touch   of SCHEMATIC : architecture is TRUE;
   signal enable_8bit_h : STD_LOGIC;
   signal count_DUMMY : STD_LOGIC_VECTOR  (15 downto 0);

   component COUNTER_EN_8BIT_II_A
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR  (7 downto 0) );
   end component;

   component COUNTER_EN_8BIT_I_A
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR  (7 downto 0);
             en_8bit_a : Out   STD_LOGIC );
   end component;

begin


   count(15 downto 0) <= count_DUMMY(15 downto 0);
   I6 : COUNTER_EN_8BIT_II_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable_8bit_h,
                 count(7 downto 0)=>count_DUMMY(15 downto 8) );
   I7 : COUNTER_EN_8BIT_I_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable,
                 count(7 downto 0)=>count_DUMMY(7 downto 0),
                 en_8bit_a=>enable_8bit_h );

end SCHEMATIC;

library IEEE;
use IEEE.std_logic_1164.all;
entity COUNTER_EN_24BIT_A is
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR (23 downto 0) );

   attribute syn_isclock: boolean;
 attribute syn_isclock of clk: signal is true;
end COUNTER_EN_24BIT_A;


architecture SCHEMATIC of COUNTER_EN_24BIT_A is

	attribute syn_macro : integer;
	attribute dont_touch     : boolean;
	attribute syn_macro of SCHEMATIC : architecture is 1;
	attribute dont_touch   of SCHEMATIC : architecture is TRUE;
   signal enable_24bit1_a : STD_LOGIC;
   signal enable24bit_h_a : STD_LOGIC;
	constant 		GND : STD_LOGIC := '0';
   signal count_DUMMY : STD_LOGIC_VECTOR  (23 downto 0);

   component COUNTER_EN_8BIT_II_A
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR  (7 downto 0) );
   end component;

   component COUNTER_EN_16BIT_A
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR  (15 downto 0) );
   end component;

   component SUPER_LOGIC
      Port (      A1 : In    STD_LOGIC;
                  A2 : In    STD_LOGIC;
                  A3 : In    STD_LOGIC;
                  A4 : In    STD_LOGIC;
                  A5 : In    STD_LOGIC;
                  A6 : In    STD_LOGIC;
                  B1 : In    STD_LOGIC;
                  B2 : In    STD_LOGIC;
                  C1 : In    STD_LOGIC;
                  C2 : In    STD_LOGIC;
                  D1 : In    STD_LOGIC;
                  D2 : In    STD_LOGIC;
                  E1 : In    STD_LOGIC;
                  E2 : In    STD_LOGIC;
                  F1 : In    STD_LOGIC;
                  F2 : In    STD_LOGIC;
                  F3 : In    STD_LOGIC;
                  F4 : In    STD_LOGIC;
                  F5 : In    STD_LOGIC;
                  F6 : In    STD_LOGIC;
                  MP : In    STD_LOGIC;
                  MS : In    STD_LOGIC;
                  NP : In    STD_LOGIC;
                \NS\ : In    STD_LOGIC;
                  OP : In    STD_LOGIC;
                  OS : In    STD_LOGIC;
                  PP : In    STD_LOGIC;
                  PS : In    STD_LOGIC;
                  QC : In    STD_LOGIC;
                  QR : In    STD_LOGIC;
                  QS : In    STD_LOGIC;
                  AZ : Out   STD_LOGIC;
                  FZ : Out   STD_LOGIC;
                  NZ : Out   STD_LOGIC;
                  OZ : Out   STD_LOGIC;
                 Q2Z : Out   STD_LOGIC;
                  QZ : Out   STD_LOGIC );
   end component;

begin


   count(23 downto 0) <= count_DUMMY(23 downto 0);
   I15 : COUNTER_EN_8BIT_II_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable24bit_h_a,
                 count(7 downto 0)=>count_DUMMY(23 downto 16) );
   I16 : COUNTER_EN_16BIT_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable,
                 count(15 downto 0)=>count_DUMMY(15 downto 0) );
   I1 : SUPER_LOGIC
      Port Map ( A1=>count_DUMMY(6), A2=>gnd, A3=>count_DUMMY(5),
                 A4=>gnd, A5=>count_DUMMY(4), A6=>gnd, B1=>gnd, B2=>gnd,
                 C1=>gnd, C2=>gnd, D1=>gnd, D2=>gnd, E1=>count_DUMMY(2),
                 E2=>gnd, F1=>count_DUMMY(0), F2=>gnd,
                 F3=>enable_24bit1_a, F4=>gnd, F5=>enable, F6=>gnd,
                 MP=>gnd, MS=>gnd, NP=>count_DUMMY(1), \NS\=>gnd,
                 OP=>count_DUMMY(3), OS=>gnd, PP=>gnd, PS=>gnd, QC=>gnd,
                 QR=>gnd, QS=>gnd, AZ=>open, FZ=>open, NZ=>open,
                 OZ=>enable24bit_h_a, Q2Z=>open, QZ=>open );
   I2 : SUPER_LOGIC
      Port Map ( A1=>count_DUMMY(15), A2=>gnd, A3=>count_DUMMY(14),
                 A4=>gnd, A5=>count_DUMMY(13), A6=>gnd, B1=>gnd, B2=>gnd,
                 C1=>gnd, C2=>gnd, D1=>gnd, D2=>gnd, E1=>count_DUMMY(11),
                 E2=>gnd, F1=>count_DUMMY(9), F2=>gnd,
                 F3=>count_DUMMY(8), F4=>gnd, F5=>count_DUMMY(7),
                 F6=>gnd, MP=>gnd, MS=>gnd, NP=>count_DUMMY(10),
                 \NS\=>gnd, OP=>count_DUMMY(12), OS=>gnd, PP=>gnd,
                 PS=>gnd, QC=>gnd, QR=>gnd, QS=>gnd, AZ=>open, FZ=>open,
                 NZ=>open, OZ=>enable_24bit1_a, Q2Z=>open, QZ=>open );

end SCHEMATIC;

library IEEE;
use IEEE.std_logic_1164.all;
entity example_en_24bit_a is
      Port ( clear_in : In    STD_LOGIC;
              clk_in : In    STD_LOGIC;
             enable_in : In    STD_LOGIC;
             count_val : Out   STD_LOGIC_VECTOR (23 downto 0) );

   attribute syn_isclock: boolean;
 attribute syn_isclock of clk_in: signal is true;
end example_en_24bit_a;


architecture SCHEMATIC of example_en_24bit_a is

	attribute syn_macro : integer;
	attribute dont_touch     : boolean;
	attribute syn_macro of SCHEMATIC : architecture is 1;
	attribute dont_touch   of SCHEMATIC : architecture is TRUE;
   signal count_out : STD_LOGIC_VECTOR (23 downto 0);
   signal    count : STD_LOGIC_VECTOR (23 downto 0);
   signal enable_reg : STD_LOGIC;
   signal   enable : STD_LOGIC;
   signal    clear : STD_LOGIC;
   signal      clk : STD_LOGIC;
   signal count_val_DUMMY : STD_LOGIC_VECTOR  (23 downto 0);

   component COUNTER_EN_24BIT_A
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR  (23 downto 0) );
   end component;

   component OUTPAD_25UM
      Port (       A : In    STD_LOGIC;
                   P : Out   STD_LOGIC );
   end component;

   component INPAD_25UM
      Port (       P : In    STD_LOGIC;
                   Q : Out   STD_LOGIC );
   end component;

   component CKPAD_25UM
      Port (       P : In    STD_LOGIC;
                   Q : Out   STD_LOGIC );
   end component;

   component RG8_25UM
      Port (     CLK : In    STD_LOGIC;
                   D : In    STD_LOGIC_VECTOR  (7 downto 0);
                   Q : Out   STD_LOGIC_VECTOR  (7 downto 0) );
   end component;

   component RG16_25UM
      Port (     CLK : In    STD_LOGIC;
                   D : In    STD_LOGIC_VECTOR  (15 downto 0);
                   Q : Out   STD_LOGIC_VECTOR  (15 downto 0) );
   end component;

   component DFF_2
      Port (     CLK : In    STD_LOGIC;
                  D1 : In    STD_LOGIC;
                  D2 : In    STD_LOGIC;
                  Q1 : Out   STD_LOGIC;
                  Q2 : Out   STD_LOGIC );
   end component;

begin


   count_val(23 downto 0) <= count_val_DUMMY(23 downto 0);
   I9 : COUNTER_EN_24BIT_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable_reg,
                 count(23 downto 0)=>count(23 downto 0) );
   outpad_25umQ23Q : OUTPAD_25UM
      Port Map ( A=>count_out(23), P=>count_val_DUMMY(23) );
   outpad_25umQ22Q : OUTPAD_25UM
      Port Map ( A=>count_out(22), P=>count_val_DUMMY(22) );
   outpad_25umQ21Q : OUTPAD_25UM
      Port Map ( A=>count_out(21), P=>count_val_DUMMY(21) );
   outpad_25umQ20Q : OUTPAD_25UM
      Port Map ( A=>count_out(20), P=>count_val_DUMMY(20) );
   outpad_25umQ19Q : OUTPAD_25UM
      Port Map ( A=>count_out(19), P=>count_val_DUMMY(19) );
   outpad_25umQ18Q : OUTPAD_25UM
      Port Map ( A=>count_out(18), P=>count_val_DUMMY(18) );
   outpad_25umQ17Q : OUTPAD_25UM
      Port Map ( A=>count_out(17), P=>count_val_DUMMY(17) );
   outpad_25umQ16Q : OUTPAD_25UM
      Port Map ( A=>count_out(16), P=>count_val_DUMMY(16) );
   outpad_25umQ15Q : OUTPAD_25UM
      Port Map ( A=>count_out(15), P=>count_val_DUMMY(15) );
   outpad_25umQ14Q : OUTPAD_25UM
      Port Map ( A=>count_out(14), P=>count_val_DUMMY(14) );
   outpad_25umQ13Q : OUTPAD_25UM
      Port Map ( A=>count_out(13), P=>count_val_DUMMY(13) );
   outpad_25umQ12Q : OUTPAD_25UM
      Port Map ( A=>count_out(12), P=>count_val_DUMMY(12) );
   outpad_25umQ11Q : OUTPAD_25UM
      Port Map ( A=>count_out(11), P=>count_val_DUMMY(11) );
   outpad_25umQ10Q : OUTPAD_25UM
      Port Map ( A=>count_out(10), P=>count_val_DUMMY(10) );
   outpad_25umQ9Q : OUTPAD_25UM
      Port Map ( A=>count_out(9), P=>count_val_DUMMY(9) );
   outpad_25umQ8Q : OUTPAD_25UM
      Port Map ( A=>count_out(8), P=>count_val_DUMMY(8) );
   outpad_25umQ7Q : OUTPAD_25UM
      Port Map ( A=>count_out(7), P=>count_val_DUMMY(7) );
   outpad_25umQ6Q : OUTPAD_25UM
      Port Map ( A=>count_out(6), P=>count_val_DUMMY(6) );
   outpad_25umQ5Q : OUTPAD_25UM
      Port Map ( A=>count_out(5), P=>count_val_DUMMY(5) );
   outpad_25umQ4Q : OUTPAD_25UM
      Port Map ( A=>count_out(4), P=>count_val_DUMMY(4) );
   outpad_25umQ3Q : OUTPAD_25UM
      Port Map ( A=>count_out(3), P=>count_val_DUMMY(3) );
   outpad_25umQ2Q : OUTPAD_25UM
      Port Map ( A=>count_out(2), P=>count_val_DUMMY(2) );
   outpad_25umQ1Q : OUTPAD_25UM
      Port Map ( A=>count_out(1), P=>count_val_DUMMY(1) );
   outpad_25umQ0Q : OUTPAD_25UM
      Port Map ( A=>count_out(0), P=>count_val_DUMMY(0) );
   I1 : INPAD_25UM
      Port Map ( P=>enable_in, Q=>enable );
   I2 : CKPAD_25UM
      Port Map ( P=>clear_in, Q=>clear );
   I3 : CKPAD_25UM
      Port Map ( P=>clk_in, Q=>clk );
   I4 : RG8_25UM
      Port Map ( CLK=>clk, D(7 downto 0)=>count(7 downto 0),
                 Q(7 downto 0)=>count_out(7 downto 0) );
   I5 : RG16_25UM
      Port Map ( CLK=>clk, D(15 downto 0)=>count(23 downto 8),
                 Q(15 downto 0)=>count_out(23 downto 8) );
   I6 : DFF_2
      Port Map ( CLK=>clk, D1=>enable, D2=>enable, Q1=>enable_reg,
                 Q2=>open );

end SCHEMATIC;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -