📄 example_16bit_load.vhd
字号:
constant VCC : STD_LOGIC := '1';
constant GND : STD_LOGIC := '0';
signal count_DUMMY : STD_LOGIC_VECTOR (7 downto 0);
signal enable_2_DUMMY : STD_LOGIC;
signal fo_enable_DUMMY : STD_LOGIC;
component COUNTER_4BIT_LOAD
Port ( clear : In STD_LOGIC;
clk : In STD_LOGIC;
data_in : In STD_LOGIC_VECTOR (3 downto 0);
enable : In STD_LOGIC;
load : In STD_LOGIC;
Qa_c : Out STD_LOGIC;
Qb_c : Out STD_LOGIC;
Qc_c : Out STD_LOGIC;
Qd_c : Out STD_LOGIC );
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(7 downto 0) <= count_DUMMY(7 downto 0);
enable_2 <= enable_2_DUMMY;
fo_enable <= fo_enable_DUMMY;
I24 : COUNTER_4BIT_LOAD
Port Map ( clear=>clear, clk=>clk,
data_in(3 downto 0)=>data_in(7 downto 4),
enable=>enable_1, load=>load_buf1, Qa_c=>count_DUMMY(7),
Qb_c=>count_DUMMY(6), Qc_c=>count_DUMMY(5),
Qd_c=>count_DUMMY(4) );
I25 : COUNTER_4BIT_LOAD
Port Map ( clear=>clear, clk=>clk,
data_in(3 downto 0)=>data_in(3 downto 0),
enable=>enable_buf, load=>load_buf2,
Qa_c=>count_DUMMY(3), Qb_c=>count_DUMMY(2),
Qc_c=>count_DUMMY(1), Qd_c=>count_DUMMY(0) );
I23 : SUPER_LOGIC
Port Map ( A1=>load, A2=>gnd, A3=>vcc, A4=>gnd, A5=>vcc, A6=>gnd,
B1=>vcc, B2=>gnd, C1=>gnd, C2=>gnd, D1=>gnd, D2=>gnd,
E1=>gnd, E2=>gnd, F1=>load, F2=>gnd, F3=>vcc, F4=>gnd,
F5=>vcc, F6=>gnd, MP=>gnd, MS=>vcc, NP=>gnd, \NS\=>gnd,
OP=>vcc, OS=>gnd, PP=>gnd, PS=>gnd, QC=>clk, QR=>clear,
QS=>gnd, AZ=>load_buf1, FZ=>load_buf2, NZ=>open,
OZ=>open, Q2Z=>open, QZ=>open );
I14 : SUPER_LOGIC
Port Map ( A1=>count_DUMMY(3), A2=>gnd, A3=>count_DUMMY(2),
A4=>gnd, A5=>count_DUMMY(1), A6=>gnd, B1=>gnd, B2=>gnd,
C1=>gnd, C2=>gnd, D1=>count_DUMMY(0), D2=>gnd, E1=>vcc,
E2=>count_DUMMY(0), F1=>fo_enable_DUMMY, F2=>gnd,
F3=>enable_buf, F4=>gnd, F5=>vcc, F6=>gnd, MP=>gnd,
MS=>gnd, NP=>gnd, \NS\=>enable_buf, OP=>vcc, OS=>gnd,
PP=>gnd, PS=>gnd, QC=>clk, QR=>clear, QS=>gnd, AZ=>open,
FZ=>enable_1, NZ=>open, OZ=>open, Q2Z=>open,
QZ=>fo_enable_DUMMY );
I19 : SUPER_LOGIC
Port Map ( A1=>count_DUMMY(7), A2=>gnd, A3=>count_DUMMY(6),
A4=>gnd, A5=>count_DUMMY(5), A6=>gnd, B1=>gnd, B2=>gnd,
C1=>gnd, C2=>gnd, D1=>count_DUMMY(4), D2=>gnd, E1=>gnd,
E2=>gnd, F1=>enable, F2=>gnd, F3=>vcc, F4=>gnd, F5=>vcc,
F6=>gnd, MP=>gnd, MS=>gnd, NP=>gnd, \NS\=>gnd, OP=>vcc,
OS=>gnd, PP=>gnd, PS=>gnd, QC=>clk, QR=>clear, QS=>gnd,
AZ=>open, FZ=>enable_buf, NZ=>open, OZ=>open, Q2Z=>open,
QZ=>enable_2_DUMMY );
end SCHEMATIC;
library IEEE;
use IEEE.std_logic_1164.all;
entity COUNTER_16BIT_LOAD is
Port ( clear : In STD_LOGIC;
clk : In STD_LOGIC;
data_in : In STD_LOGIC_VECTOR (15 downto 0);
enable : In STD_LOGIC;
load : In STD_LOGIC;
count : Out STD_LOGIC_VECTOR (15 downto 0) );
end COUNTER_16BIT_LOAD;
architecture SCHEMATIC of COUNTER_16BIT_LOAD is
attribute syn_macro : integer;
attribute syn_macro of SCHEMATIC : architecture is 1;
signal enable_1 : STD_LOGIC;
signal enable_2 : STD_LOGIC;
signal count_DUMMY : STD_LOGIC_VECTOR (15 downto 0);
component COUNTER_8BIT_II_LOAD
Port ( clear : In STD_LOGIC;
clk : In STD_LOGIC;
data_in : In STD_LOGIC_VECTOR (7 downto 0);
enable : In STD_LOGIC;
enable_1 : In STD_LOGIC;
enable_2 : In STD_LOGIC;
load : In STD_LOGIC;
count : Out STD_LOGIC_VECTOR (7 downto 0);
enable_3 : Out STD_LOGIC;
enable_4 : Out STD_LOGIC );
end component;
component COUNTER_8BIT_I_LOAD
Port ( clear : In STD_LOGIC;
clk : In STD_LOGIC;
data_in : In STD_LOGIC_VECTOR (7 downto 0);
enable : In STD_LOGIC;
load : In STD_LOGIC;
count : Out STD_LOGIC_VECTOR (7 downto 0);
enable_2 : Out STD_LOGIC;
fo_enable : Out STD_LOGIC );
end component;
begin
count(15 downto 0) <= count_DUMMY(15 downto 0);
I10 : COUNTER_8BIT_II_LOAD
Port Map ( clear=>clear, clk=>clk,
data_in(7 downto 0)=>data_in(15 downto 8),
enable=>enable, enable_1=>enable_1, enable_2=>enable_2,
load=>load, count(7 downto 0)=>count_DUMMY(15 downto 8),
enable_3=>open, enable_4=>open );
I11 : COUNTER_8BIT_I_LOAD
Port Map ( clear=>clear, clk=>clk,
data_in(7 downto 0)=>data_in(7 downto 0),
enable=>enable, load=>load,
count(7 downto 0)=>count_DUMMY(7 downto 0),
enable_2=>enable_2, fo_enable=>enable_1 );
end SCHEMATIC;
library IEEE;
use IEEE.std_logic_1164.all;
entity example_16bit_load is
Port ( clear_in : In STD_LOGIC;
clk_in : In STD_LOGIC;
data : In STD_LOGIC_VECTOR (15 downto 0);
enable_in : In STD_LOGIC;
load_in : In STD_LOGIC;
count_out : Out STD_LOGIC_VECTOR (15 downto 0) );
end example_16bit_load;
architecture SCHEMATIC of example_16bit_load is
attribute syn_macro : integer;
attribute syn_macro of SCHEMATIC : architecture is 1;
signal data_in : STD_LOGIC_VECTOR (15 downto 0);
signal count : STD_LOGIC_VECTOR (15 downto 0);
signal count_reg : STD_LOGIC_VECTOR (15 downto 0);
signal data_reg : STD_LOGIC_VECTOR (15 downto 0);
signal load_reg : STD_LOGIC;
signal enable_reg : STD_LOGIC;
signal clear : STD_LOGIC;
signal load : STD_LOGIC;
signal enable : STD_LOGIC;
signal clk : STD_LOGIC;
signal count_out_DUMMY : STD_LOGIC_VECTOR (15 downto 0);
component COUNTER_16BIT_LOAD
Port ( clear : In STD_LOGIC;
clk : In STD_LOGIC;
data_in : In STD_LOGIC_VECTOR (15 downto 0);
enable : In STD_LOGIC;
load : In STD_LOGIC;
count : Out STD_LOGIC_VECTOR (15 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;
component OPAD16_25UM
Port ( A : In STD_LOGIC_VECTOR (15 downto 0);
P : Out STD_LOGIC_VECTOR (15 downto 0) );
end component;
component IPAD16_25UM
Port ( P : In STD_LOGIC_VECTOR (15 downto 0);
Q : Out STD_LOGIC_VECTOR (15 downto 0) );
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;
begin
count_out(15 downto 0) <= count_out_DUMMY(15 downto 0);
I12 : COUNTER_16BIT_LOAD
Port Map ( clear=>clear, clk=>clk,
data_in(15 downto 0)=>data_reg(15 downto 0),
enable=>enable_reg, load=>load,
count(15 downto 0)=>count(15 downto 0) );
I1 : RG16_25UM
Port Map ( CLK=>clk, D(15 downto 0)=>data_in(15 downto 0),
Q(15 downto 0)=>data_reg(15 downto 0) );
I2 : RG16_25UM
Port Map ( CLK=>clk, D(15 downto 0)=>count(15 downto 0),
Q(15 downto 0)=>count_reg(15 downto 0) );
I3 : DFF_2
Port Map ( CLK=>clk, D1=>enable, D2=>load, Q1=>enable_reg,
Q2=>load_reg );
I4 : OPAD16_25UM
Port Map ( A(15 downto 0)=>count_reg(15 downto 0),
P(15 downto 0)=>count_out_DUMMY(15 downto 0) );
I5 : IPAD16_25UM
Port Map ( P(15 downto 0)=>data(15 downto 0),
Q(15 downto 0)=>data_in(15 downto 0) );
I6 : INPAD_25UM
Port Map ( P=>load_in, Q=>load );
I7 : INPAD_25UM
Port Map ( P=>enable_in, Q=>enable );
I8 : CKPAD_25UM
Port Map ( P=>clear_in, Q=>clear );
I9 : CKPAD_25UM
Port Map ( P=>clk_in, Q=>clk );
end SCHEMATIC;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -