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

📄 example_en_32bit_a.vhd

📁 VHDL examples for counter design, use QuickLogic eclips
💻 VHD
📖 第 1 页 / 共 2 页
字号:
                  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(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=>enable_8bit_h, clk=>clk, enable=>clear,
                 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_32BIT_A is
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR (31 downto 0) );

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


architecture SCHEMATIC of COUNTER_EN_32BIT_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 enable32bit_h_a : STD_LOGIC;
   signal enable_32bit1_a : STD_LOGIC;
	constant 		GND : STD_LOGIC := '0';
   signal count_DUMMY : STD_LOGIC_VECTOR  (31 downto 0);

   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(31 downto 0) <= count_DUMMY(31 downto 0);
   I15 : COUNTER_EN_16BIT_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable,
                 count(15 downto 0)=>count_DUMMY(15 downto 0) );
   I16 : COUNTER_EN_16BIT_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable32bit_h_a,
                 count(15 downto 0)=>count_DUMMY(31 downto 16) );
   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_32bit1_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=>enable32bit_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_32bit1_a, Q2Z=>open, QZ=>open );

end SCHEMATIC;

library IEEE;
use IEEE.std_logic_1164.all;
entity example_en_32bit_a is
      Port ( clear_in : In    STD_LOGIC;
              clk_in : In    STD_LOGIC;
             enable_in : In    STD_LOGIC;
             count_out : Out   STD_LOGIC_VECTOR (31 downto 0) );

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


architecture SCHEMATIC of example_en_32bit_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_reg : STD_LOGIC_VECTOR (31 downto 0);
   signal    count : STD_LOGIC_VECTOR (31 downto 0);
   signal   enable : STD_LOGIC;
   signal    clear : STD_LOGIC;
   signal      clk : STD_LOGIC;
   signal count_out_DUMMY : STD_LOGIC_VECTOR  (31 downto 0);

   component COUNTER_EN_32BIT_A
      Port (   clear : In    STD_LOGIC;
                 clk : In    STD_LOGIC;
              enable : In    STD_LOGIC;
               count : Out   STD_LOGIC_VECTOR  (31 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 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;

begin


   count_out(31 downto 0) <= count_out_DUMMY(31 downto 0);
   I9 : COUNTER_EN_32BIT_A
      Port Map ( clear=>clear, clk=>clk, enable=>enable,
                 count(31 downto 0)=>count(31 downto 0) );
   out_pad_25umQ31Q : OUTPAD_25UM
      Port Map ( A=>count_reg(31), P=>count_out_DUMMY(31) );
   out_pad_25umQ30Q : OUTPAD_25UM
      Port Map ( A=>count_reg(30), P=>count_out_DUMMY(30) );
   out_pad_25umQ29Q : OUTPAD_25UM
      Port Map ( A=>count_reg(29), P=>count_out_DUMMY(29) );
   out_pad_25umQ28Q : OUTPAD_25UM
      Port Map ( A=>count_reg(28), P=>count_out_DUMMY(28) );
   out_pad_25umQ27Q : OUTPAD_25UM
      Port Map ( A=>count_reg(27), P=>count_out_DUMMY(27) );
   out_pad_25umQ26Q : OUTPAD_25UM
      Port Map ( A=>count_reg(26), P=>count_out_DUMMY(26) );
   out_pad_25umQ25Q : OUTPAD_25UM
      Port Map ( A=>count_reg(25), P=>count_out_DUMMY(25) );
   out_pad_25umQ24Q : OUTPAD_25UM
      Port Map ( A=>count_reg(24), P=>count_out_DUMMY(24) );
   out_pad_25umQ23Q : OUTPAD_25UM
      Port Map ( A=>count_reg(23), P=>count_out_DUMMY(23) );
   out_pad_25umQ22Q : OUTPAD_25UM
      Port Map ( A=>count_reg(22), P=>count_out_DUMMY(22) );
   out_pad_25umQ21Q : OUTPAD_25UM
      Port Map ( A=>count_reg(21), P=>count_out_DUMMY(21) );
   out_pad_25umQ20Q : OUTPAD_25UM
      Port Map ( A=>count_reg(20), P=>count_out_DUMMY(20) );
   out_pad_25umQ19Q : OUTPAD_25UM
      Port Map ( A=>count_reg(19), P=>count_out_DUMMY(19) );
   out_pad_25umQ18Q : OUTPAD_25UM
      Port Map ( A=>count_reg(18), P=>count_out_DUMMY(18) );
   out_pad_25umQ17Q : OUTPAD_25UM
      Port Map ( A=>count_reg(17), P=>count_out_DUMMY(17) );
   out_pad_25umQ16Q : OUTPAD_25UM
      Port Map ( A=>count_reg(16), P=>count_out_DUMMY(16) );
   out_pad_25umQ15Q : OUTPAD_25UM
      Port Map ( A=>count_reg(15), P=>count_out_DUMMY(15) );
   out_pad_25umQ14Q : OUTPAD_25UM
      Port Map ( A=>count_reg(14), P=>count_out_DUMMY(14) );
   out_pad_25umQ13Q : OUTPAD_25UM
      Port Map ( A=>count_reg(13), P=>count_out_DUMMY(13) );
   out_pad_25umQ12Q : OUTPAD_25UM
      Port Map ( A=>count_reg(12), P=>count_out_DUMMY(12) );
   out_pad_25umQ11Q : OUTPAD_25UM
      Port Map ( A=>count_reg(11), P=>count_out_DUMMY(11) );
   out_pad_25umQ10Q : OUTPAD_25UM
      Port Map ( A=>count_reg(10), P=>count_out_DUMMY(10) );
   out_pad_25umQ9Q : OUTPAD_25UM
      Port Map ( A=>count_reg(9), P=>count_out_DUMMY(9) );
   out_pad_25umQ8Q : OUTPAD_25UM
      Port Map ( A=>count_reg(8), P=>count_out_DUMMY(8) );
   out_pad_25umQ7Q : OUTPAD_25UM
      Port Map ( A=>count_reg(7), P=>count_out_DUMMY(7) );
   out_pad_25umQ6Q : OUTPAD_25UM
      Port Map ( A=>count_reg(6), P=>count_out_DUMMY(6) );
   out_pad_25umQ5Q : OUTPAD_25UM
      Port Map ( A=>count_reg(5), P=>count_out_DUMMY(5) );
   out_pad_25umQ4Q : OUTPAD_25UM
      Port Map ( A=>count_reg(4), P=>count_out_DUMMY(4) );
   out_pad_25umQ3Q : OUTPAD_25UM
      Port Map ( A=>count_reg(3), P=>count_out_DUMMY(3) );
   out_pad_25umQ2Q : OUTPAD_25UM
      Port Map ( A=>count_reg(2), P=>count_out_DUMMY(2) );
   out_pad_25umQ1Q : OUTPAD_25UM
      Port Map ( A=>count_reg(1), P=>count_out_DUMMY(1) );
   out_pad_25umQ0Q : OUTPAD_25UM
      Port Map ( A=>count_reg(0), P=>count_out_DUMMY(0) );
   I2 : INPAD_25UM
      Port Map ( P=>enable_in, Q=>enable );
   I3 : CKPAD_25UM
      Port Map ( P=>clk_in, Q=>clk );
   I4 : CKPAD_25UM
      Port Map ( P=>clear_in, Q=>clear );
   I5 : RG16_25UM
      Port Map ( CLK=>clk, D(15 downto 0)=>count(15 downto 0),
                 Q(15 downto 0)=>count_reg(15 downto 0) );
   I6 : RG16_25UM
      Port Map ( CLK=>clk, D(15 downto 0)=>count(31 downto 16),
                 Q(15 downto 0)=>count_reg(31 downto 16) );

end SCHEMATIC;

⌨️ 快捷键说明

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