Minimalist Simple Annual Report Cover
Minimalist Simple Annual Report Cover
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.ALL;
A: IN STD_LOGIC;
B: IN STD_LOGIC;
ARCHITECTURE rtl OF mux_2_1_tb IS
SEL: IN STD_LOGIC;
S: OUT STD_LOGIC); COMPONENT mux_2_1 IS PORT(
PROCESS
BEGIN
X <= '1';
Y <= '0';
WAIT FOR 15 NS;
X <= '0';
Y <= '1';
WAIT FOR 20 NS;
END PROCESS;
PROCESS
BEGIN
SEL <='1';
WAIT FOR 10 NS;
SEL <='0';
WAIT FOR 9 NS;
SEL<= 'X';
WAIT FOR 3 NS;
END PROCESS;
END rtl;
LIBRARY IEEE; LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY reg_8bits_tb IS
END reg_8bits_tb;
--
ARCHITECTURE rtl OF reg_8bits_tb IS
COMPONENT reg_8bits IS PORT (
ENTITY reg_8bits IS PORT( clk: IN STD_LOGIC;
rst: IN STD_LOGIC;
clk: IN STD_LOGIC; data_in: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
rst: IN STD_LOGIC; data_out: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
data_in: IN STD_LOGIC_VECTOR(7 END COMPONENT;
DOWNTO 0); SIGNAL CLK ,RST :STD_LOGIC;
SIGNAL DATA_IN ,DATA_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);
data_out: OUT STD_LOGIC_VECTOR(7
DOWNTO 0));
BEGIN
END PROCESS;
PROCESS
BEGIN
END PROCESS;
END RTL;
ENTITY compt_decompt_16bits_tb IS
END compt_decompt_16bits_tb;
ENTITY compt_decompt_16bits IS PORT(
ARCHITECTURE rtl OF compt_decompt_16bits_tb IS
COMPONENT compt_decompt_16bits IS PORT ( ABCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
ABCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
cout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
cout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
up:IN STD_LOGIC; up:IN STD_LOGIC;
down:IN STD_LOGIC; down:IN STD_LOGIC;
load:IN STD_LOGIC;
load:IN STD_LOGIC;
clear:IN STD_LOGIC;
clk:IN STD_LOGIC); clear:IN STD_LOGIC;
END COMPONENT; clk:IN STD_LOGIC);
PROCESS
BEGIN
up<='0';
down<='0';
wait for 20 ns ;
up<='1';
down<='0';
wait for 30 ns ;
up<='0';
down<='1';
wait for 50 ns ;
END PROCESS;
X<="1000";
END rtl;
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY comp_8bits IS PORT(
END rtl;
ENTITY comp_4bits_tb IS ENTITY comp_8bits_tb IS
END comp_4bits_tb; END comp_8bits_tb;
X <= "11101100";
Y <= "11111100";
wait for 12 ns;
END PROCESS;
END rtl;
ENTITY top IS PORT ( ENTITY top_tb IS
ABCD:in STD_LOGIC_VECTOR(3 DOWNTO 0); END top_tb;
clk:in STD_LOGIC; ARCHITECTURE rtl OF top_tb IS
clear:in STD_LOGIC; COMPONENT top IS PORT (
load:in STD_LOGIC; ABCD:in STD_LOGIC_VECTOR(3 DOWNTO 0);
data_in:in STD_LOGIC_VECTOR(7 DOWNTO 0); clk:in STD_LOGIC;
data_out:out STD_LOGIC_VECTOR(3 DOWNTO 0)); clear:in STD_LOGIC;
END top; load:in STD_LOGIC;
data_in:in STD_LOGIC_VECTOR(7 DOWNTO 0);
ARCHITECTURE rtl OF top IS data_out:out STD_LOGIC_VECTOR(3 DOWNTO 0));
COMPONENT reg_8bits IS PORT( END COMPONENT;
SIGNAL data_in:STD_LOGIC_VECTOR(7 DOWNTO 0);
data_in:in STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL data_out:STD_LOGIC_VECTOR(3 DOWNTO 0);
clk:in STD_LOGIC;
SIGNAL clk,clear,load:STD_LOGIC;
rst:in STD_LOGIC;
SIGNAL ABCD: STD_LOGIC_VECTOR(3 DOWNTO 0);
data_out:out STD_LOGIC_VECTOR(7 DOWNTO 0));
BEGIN
END COMPONENT;
U : top PORT MAP(
clk=>clk,
COMPONENT comp_8bits IS PORT( clear=> clear,
A:in STD_LOGIC_VECTOR(7 DOWNTO 0); load=>load,
B:in STD_LOGIC_VECTOR(7 DOWNTO 0); data_in=>data_in,
sup:out STD_LOGIC; ABCD=>ABCD,
ega:out STD_LOGIC; data_out=>data_out);
inf:out STD_LOGIC);
END COMPONENT; PROCESS
BEGIN
COMPONENT compt_decompt_16bits IS PORT ( clk <= '1';
ABCD:in STD_LOGIC_VECTOR(3 DOWNTO 0); wait for 5 ns;
cout:out STD_LOGIC_VECTOR(3 DOWNTO 0); clk <= '0';
load:in STD_LOGIC; wait for 5 ns;
clear:in STD_LOGIC; clk <= '1';
wait for 5 ns;
clk:in STD_LOGIC;
clk <= '0';
up:in STD_LOGIC;
wait for 5 ns;
down:in STD_LOGIC);
END PROCESS;
END COMPONENT;
PROCESS
SIGNAL sig_reg:STD_LOGIC_VECTOR(7 DOWNTO BEGIN
0); clear <= '0';
SIGNAL sig_ega:STD_LOGIC; wait for 12.5 ns;
BEGIN clear <= '1';
U1 : reg_8bits PORT MAP( wait for 100 ns;
clk=>clk, END PROCESS;
rst=>clear,
data_in=>data_in, PROCESS
data_out=>sig_reg); BEGIN
load <= '0';
U2 : comp_8bits PORT MAP( wait for 20 ns;
A=>data_in, load <= '1';
B=>sig_reg, wait for 10 ns;
sup=>open, load <= '0';
wait for 82.5 ns;
inf=>open,
END PROCESS;
ega=>sig_ega);
PROCESS
U3 : compt_decompt_16bits PORT MAP (
BEGIN
ABCD=>ABCD,
data_in <= "11111000";
cout=>data_out, wait for 25 ns;
up=>sig_ega, data_in <= "11111000";
down=>'0', wait for 30 ns;
load=>load, data_in <= "00110011";
clear=>clear, wait for 57.5 ns;
clk=>clk); END PROCESS;
ABCD<="0000";
END rtl; END rtl;
signal
ENTITY Multiplieur_8bits IS PORT( data_0,data_1,data_2,data_3,data_4,data_5,data_6,data_7:S
TD_LOGIC_VECTOR(15 DOWNTO 0);
clk: IN STD_LOGIC; signal enable:STD_LOGIC;
rst: IN STD_LOGIC; begin
N1: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
N2: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
Reg0:L_Shifter generic map(0)
start:IN STD_LOGIC;
port map( clk=>clk,
Rdy: OUT STD_LOGIC;
rst=>rst,
R: OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
); enable=>N1(0),
data_in=>N2,
END Multiplieur_8bits; data_out=>data_0);
S_out<= C_in;
ARCHITECTURE RTL OF Cpt_16B IS
WHEN "11" =>
S_out<= D_in; SIGNAL SIG: STD_LOGIC_VECTOR(3 DOWNTO 0);
when others => S_out <= 'X';
BEGIN
end case; PROCESS(CLK,CLEAR)
end process; BEGIN
END rtl; IF (CLEAR = '1') THEN
SIG <= (OTHERS=>'0');
ELSIF (CLK'EVENT AND CLK = '1') THEN
IF (LOAD ='1') THEN
SIG<=ABCD;
ELSIF (LOAD = '0') THEN
END RTL;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;
ENTITY Adder_top IS
PORT(
A: IN std_logic_vector(3 DOWNTO 0);
B: IN std_logic_vector(3 DOWNTO 0);
S: OUT std_logic_vector(6 DOWNTO 0)
);
END Adder_top;
COMPONENT Seven_seg IS
PORT(
sig_in: IN std_logic_vector(3 DOWNTO 0);
sig_out: OUT std_logic_vector(6 DOWNTO 0)
LAB0
);
END COMPONENT;
END rtl;
USE IEEE.STD_LOGIC_1164.ALL;
LIBRARY IEEE;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY Seven_seg IS PORT(
USE IEEE.NUMERIC_STD.ALL;
sig_in:in std_logic_vector(3 downto 0);
sig_out:out std_logic_vector(6 downto 0)
ENTITY Div_freq IS PORT(
);
END Seven_seg;
clk_in:in std_logic;
ARCHITECTURE rtl of Seven_seg is
rst:in std_logic
signal seven_sig:std_logic_vector(6 downto 0);
CLK_out:out std_logic;
BEGIN
);
process(sig_in)
END Div_freq;
begin
case sig_in is
ARCHITECTURE rtl of Div_freq is
when "0000"=>
signal count : integer range 0 to 23456798;
seven_sig<="0111111";
begin process (rst,clk_in)
when "0001"=>
begin
seven_sig<="0000110";
if(rst='0')THEN
when "0010"=>
count<=0;
seven_sig<="1011011";
elsif(clk_in'event and clk_in='1')then
when "0011"=>
if(count=20000000)THEN
seven_sig<="1001111";
count<=0;
when "0100"=>
else
seven_sig<="1100110";
count<=count+1;
when "0101"=>
seven_sig<="1101101";
end if;
when "0110"=>
end if;
seven_sig<="1111101";
end process;
when "0111"=>
process(rst,clk_in)
seven_sig<="0000111";
begin
when "1000"=>
if(rst='0')then
seven_sig<="1111111";
clk_out<='0';
when "1001"=>
elsif(clk_in'event and clk_in='1')then
seven_sig<="1101111";
if(count<=10000000)THEN
when "1010"=>
clk_out<='1';
seven_sig<="1110111";
else
when "1011"=>
clk_out<='0';
seven_sig<="1111100";
end if;
when "1100"=>
end if;
seven_sig<="0111001";
when "1101"=>
end process;
seven_sig<="1011101";
when "1110"=>
END rtl;
seven_sig<="1111001";
when "1111"=>
seven_sig<="1110001";
WHEN OTHERS =>
seven_sig<="0111111"; LAB1
END CASE;
end process;
sig_out<= not(seven_sig);
library ieee;
use ieee.std_logic_1164.all;
END RTL;
library ieee; component div is
use ieee.std_logic_1164.all; port (
clk_in : in std_logic;
rst : in std_logic;
entity bcd_count_top is
clk_out : out std_logic
port ( );
clk : in std_logic; end component;
rst : in std_logic;
enable : in std_logic; signal clk_out_sig : std_logic;
count_sec_U : out std_logic_vector(3 signal count_sec_U_sig : std_logic_vector(3 downto 0);
signal count_sec_D_sig : std_logic_vector(3 downto 0);
downto 0);
signal count_min_D_sig : std_logic_vector(3 downto 0);
count_min_D : out std_logic_vector(3 signal count_min_U_sig : std_logic_vector(3 downto 0);
downto 0);
count_min_U : out std_logic_vector(3 begin
downto 0);
count_sec_D : out std_logic_vector(3 U0: div port map (
clk_in => clk,
downto 0)
rst => rst,
);
clk_out => clk_out_sig
end entity; );