OpenCores
URL https://opencores.org/ocsvn/structural_vhdl/structural_vhdl/trunk

Subversion Repositories structural_vhdl

[/] [structural_vhdl/] [tags/] [vlsi/] [main control/] [controlmode.vst] - Rev 4

Compare with Previous | Blame | View Log

-- VHDL structural description generated from `controlmode`
--              date : Sat Sep  1 20:27:01 2001


-- Entity Declaration

ENTITY controlmode IS
  PORT (
  clk : in BIT; -- clk
  start : in BIT;       -- start
  mode : in BIT_VECTOR (0 TO 1);        -- mode
  cke : in BIT; -- cke
  ikey_ready : in BIT;  -- ikey_ready
  key_ready : in BIT;   -- key_ready
  dt_ready : in BIT;    -- dt_ready
  finish : in BIT;      -- finish
  req_cp : in BIT;      -- req_cp
  e : in BIT;   -- e
  first_dt : out BIT;   -- first_dt
  e_mesin : out BIT;    -- e_mesin
  s_mesin : out BIT;    -- s_mesin
  s_gen_key : out BIT;  -- s_gen_key
  emp_buf : out BIT;    -- emp_buf
  cp_ready : out BIT;   -- cp_ready
  cke_b_mode : out BIT; -- cke_b_mode
  en_in : out BIT;      -- en_in
  en_iv : out BIT;      -- en_iv
  en_rcbc : out BIT;    -- en_rcbc
  en_out : out BIT;     -- en_out
  sel1 : out BIT_VECTOR (0 TO 1);       -- sel1
  sel2 : out BIT_VECTOR (0 TO 1);       -- sel2
  sel3 : out BIT_VECTOR (0 TO 1);       -- sel3
  vdd : in BIT; -- vdd
  vss : in BIT  -- vss
  );
END controlmode;

-- Architecture Declaration

ARCHITECTURE VST OF controlmode IS
  COMPONENT dec_mode
    port (
    start : in BIT;     -- start
    mode : in BIT_VECTOR(1 DOWNTO 0);   -- mode
    ecb : out BIT;      -- ecb
    cbc : out BIT;      -- cbc
    cfb : out BIT;      -- cfb
    ofb : out BIT;      -- ofb
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT ecb
    port (
    active : in BIT;    -- active
    clk : in BIT;       -- clk
    cke : in BIT;       -- cke
    key_ready : in BIT; -- key_ready
    finish : in BIT;    -- finish
    req_cp : in BIT;    -- req_cp
    e : in BIT; -- e
    e_mesin : out BIT;  -- e_mesin
    s_mesin : out BIT;  -- s_mesin
    s_gen_key : out BIT;        -- s_gen_key
    emp_buf : out BIT;  -- emp_buf
    cp_ready : out BIT; -- cp_ready
    cke_b_mode : out BIT;       -- cke_b_mode
    en_in : out BIT;    -- en_in
    en_iv : out BIT;    -- en_iv
    en_rcbc : out BIT;  -- en_rcbc
    en_out : out BIT;   -- en_out
    sel1 : out BIT_VECTOR(1 DOWNTO 0);  -- sel1
    sel2 : out BIT_VECTOR(1 DOWNTO 0);  -- sel2
    sel3 : out BIT_VECTOR(1 DOWNTO 0);  -- sel3
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT cbc
    port (
    active : in BIT;    -- active
    clk : in BIT;       -- clk
    cke : in BIT;       -- cke
    ikey_ready : in BIT;        -- ikey_ready
    key_ready : in BIT; -- key_ready
    dt_ready : in BIT;  -- dt_ready
    finish : in BIT;    -- finish
    e : in BIT; -- e
    first_dt : inout BIT;       -- first_dt
    e_mesin : out BIT;  -- e_mesin
    s_mesin : out BIT;  -- s_mesin
    s_gen_key : out BIT;        -- s_gen_key
    emp_buf : inout BIT;        -- emp_buf
    cp_ready : out BIT; -- cp_ready
    cke_b_mode : out BIT;       -- cke_b_mode
    en_in : out BIT;    -- en_in
    en_iv : out BIT;    -- en_iv
    en_rcbc : out BIT;  -- en_rcbc
    en_out : out BIT;   -- en_out
    sel1 : out BIT_VECTOR(1 DOWNTO 0);  -- sel1
    sel2 : out BIT_VECTOR(1 DOWNTO 0);  -- sel2
    sel3 : out BIT_VECTOR(1 DOWNTO 0);  -- sel3
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT cfb
    port (
    active : in BIT;    -- active
    clk : in BIT;       -- clk
    key_ready : in BIT; -- key_ready
    dt_ready : in BIT;  -- dt_ready
    finish : in BIT;    -- finish
    e : in BIT; -- e
    first_dt : inout BIT;       -- first_dt
    e_mesin : out BIT;  -- e_mesin
    s_mesin : out BIT;  -- s_mesin
    s_gen_key : out BIT;        -- s_gen_key
    emp_buf : out BIT;  -- emp_buf
    cp_ready : out BIT; -- cp_ready
    cke_b_mode : out BIT;       -- cke_b_mode
    en_in : out BIT;    -- en_in
    en_iv : out BIT;    -- en_iv
    en_rcbc : out BIT;  -- en_rcbc
    en_out : out BIT;   -- en_out
    sel1 : out BIT_VECTOR(1 DOWNTO 0);  -- sel1
    sel2 : out BIT_VECTOR(1 DOWNTO 0);  -- sel2
    sel3 : out BIT_VECTOR(1 DOWNTO 0);  -- sel3
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT ofb
    port (
    active : in BIT;    -- active
    clk : in BIT;       -- clk
    key_ready : in BIT; -- key_ready
    dt_ready : in BIT;  -- dt_ready
    finish : in BIT;    -- finish
    first_dt : inout BIT;       -- first_dt
    e_mesin : out BIT;  -- e_mesin
    s_mesin : out BIT;  -- s_mesin
    emp_buf : inout BIT;        -- emp_buf
    cp_ready : out BIT; -- cp_ready
    cke_b_mode : inout BIT;     -- cke_b_mode
    en_in : out BIT;    -- en_in
    en_iv : out BIT;    -- en_iv
    en_rcbc : out BIT;  -- en_rcbc
    en_out : out BIT;   -- en_out
    sel1 : out BIT_VECTOR(1 DOWNTO 0);  -- sel1
    sel2 : out BIT_VECTOR(1 DOWNTO 0);  -- sel2
    sel3 : out BIT_VECTOR(1 DOWNTO 0);  -- sel3
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT zero_x0
    port (
    nq : out BIT;       -- nq
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT mux01
    port (
    a : in BIT; -- a
    b : in BIT; -- b
    c : in BIT; -- c
    d : in BIT; -- d
    sel : in BIT_VECTOR(1 DOWNTO 0);    -- sel
    o : out BIT;        -- o
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT mux02
    port (
    a : in BIT_VECTOR(1 DOWNTO 0);      -- a
    b : in BIT_VECTOR(1 DOWNTO 0);      -- b
    c : in BIT_VECTOR(1 DOWNTO 0);      -- c
    d : in BIT_VECTOR(1 DOWNTO 0);      -- d
    sel : in BIT_VECTOR(1 DOWNTO 0);    -- sel
    o : out BIT_VECTOR(1 DOWNTO 0);     -- o
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  SIGNAL cke_b_mode_cbc : BIT;  -- cke_b_mode_cbc
  SIGNAL cke_b_mode_cfb : BIT;  -- cke_b_mode_cfb
  SIGNAL cke_b_mode_ecb : BIT;  -- cke_b_mode_ecb
  SIGNAL cke_b_mode_ofb : BIT;  -- cke_b_mode_ofb
  SIGNAL cp_ready_cbc : BIT;    -- cp_ready_cbc
  SIGNAL cp_ready_cfb : BIT;    -- cp_ready_cfb
  SIGNAL cp_ready_ecb : BIT;    -- cp_ready_ecb
  SIGNAL cp_ready_ofb : BIT;    -- cp_ready_ofb
  SIGNAL e_mesin_cbc : BIT;     -- e_mesin_cbc
  SIGNAL e_mesin_cfb : BIT;     -- e_mesin_cfb
  SIGNAL e_mesin_ecb : BIT;     -- e_mesin_ecb
  SIGNAL e_mesin_ofb : BIT;     -- e_mesin_ofb
  SIGNAL emp_buf_cbc : BIT;     -- emp_buf_cbc
  SIGNAL emp_buf_cfb : BIT;     -- emp_buf_cfb
  SIGNAL emp_buf_ecb : BIT;     -- emp_buf_ecb
  SIGNAL emp_buf_ofb : BIT;     -- emp_buf_ofb
  SIGNAL en_in_cbc : BIT;       -- en_in_cbc
  SIGNAL en_in_cfb : BIT;       -- en_in_cfb
  SIGNAL en_in_ecb : BIT;       -- en_in_ecb
  SIGNAL en_in_ofb : BIT;       -- en_in_ofb
  SIGNAL en_iv_cbc : BIT;       -- en_iv_cbc
  SIGNAL en_iv_cfb : BIT;       -- en_iv_cfb
  SIGNAL en_iv_ecb : BIT;       -- en_iv_ecb
  SIGNAL en_iv_ofb : BIT;       -- en_iv_ofb
  SIGNAL en_out_cbc : BIT;      -- en_out_cbc
  SIGNAL en_out_cfb : BIT;      -- en_out_cfb
  SIGNAL en_out_ecb : BIT;      -- en_out_ecb
  SIGNAL en_out_ofb : BIT;      -- en_out_ofb
  SIGNAL en_rcbc_cbc : BIT;     -- en_rcbc_cbc
  SIGNAL en_rcbc_cfb : BIT;     -- en_rcbc_cfb
  SIGNAL en_rcbc_ecb : BIT;     -- en_rcbc_ecb
  SIGNAL en_rcbc_ofb : BIT;     -- en_rcbc_ofb
  SIGNAL first_dt_cbc : BIT;    -- first_dt_cbc
  SIGNAL first_dt_cfb : BIT;    -- first_dt_cfb
  SIGNAL first_dt_ofb : BIT;    -- first_dt_ofb
  SIGNAL modecbc : BIT; -- modecbc
  SIGNAL modecfb : BIT; -- modecfb
  SIGNAL modeecb : BIT; -- modeecb
  SIGNAL modeofb : BIT; -- modeofb
  SIGNAL nol : BIT;     -- nol
  SIGNAL s_gen_key_cbc : BIT;   -- s_gen_key_cbc
  SIGNAL s_gen_key_cfb : BIT;   -- s_gen_key_cfb
  SIGNAL s_gen_key_ecb : BIT;   -- s_gen_key_ecb
  SIGNAL s_mesin_cbc : BIT;     -- s_mesin_cbc
  SIGNAL s_mesin_cfb : BIT;     -- s_mesin_cfb
  SIGNAL s_mesin_ecb : BIT;     -- s_mesin_ecb
  SIGNAL s_mesin_ofb : BIT;     -- s_mesin_ofb
  SIGNAL sel1_cbc_0 : BIT;      -- sel1_cbc 0
  SIGNAL sel1_cbc_1 : BIT;      -- sel1_cbc 1
  SIGNAL sel1_cfb_0 : BIT;      -- sel1_cfb 0
  SIGNAL sel1_cfb_1 : BIT;      -- sel1_cfb 1
  SIGNAL sel1_ecb_0 : BIT;      -- sel1_ecb 0
  SIGNAL sel1_ecb_1 : BIT;      -- sel1_ecb 1
  SIGNAL sel1_ofb_0 : BIT;      -- sel1_ofb 0
  SIGNAL sel1_ofb_1 : BIT;      -- sel1_ofb 1
  SIGNAL sel2_cbc_0 : BIT;      -- sel2_cbc 0
  SIGNAL sel2_cbc_1 : BIT;      -- sel2_cbc 1
  SIGNAL sel2_cfb_0 : BIT;      -- sel2_cfb 0
  SIGNAL sel2_cfb_1 : BIT;      -- sel2_cfb 1
  SIGNAL sel2_ecb_0 : BIT;      -- sel2_ecb 0
  SIGNAL sel2_ecb_1 : BIT;      -- sel2_ecb 1
  SIGNAL sel2_ofb_0 : BIT;      -- sel2_ofb 0
  SIGNAL sel2_ofb_1 : BIT;      -- sel2_ofb 1
  SIGNAL sel3_cbc_0 : BIT;      -- sel3_cbc 0
  SIGNAL sel3_cbc_1 : BIT;      -- sel3_cbc 1
  SIGNAL sel3_cfb_0 : BIT;      -- sel3_cfb 0
  SIGNAL sel3_cfb_1 : BIT;      -- sel3_cfb 1
  SIGNAL sel3_ecb_0 : BIT;      -- sel3_ecb 0
  SIGNAL sel3_ecb_1 : BIT;      -- sel3_ecb 1
  SIGNAL sel3_ofb_0 : BIT;      -- sel3_ofb 0
  SIGNAL sel3_ofb_1 : BIT;      -- sel3_ofb 1

BEGIN

  decmode : dec_mode
    PORT MAP (
    vss => vss,
    vdd => vdd,
    ofb => modeofb,
    cfb => modecfb,
    cbc => modecbc,
    ecb => modeecb,
    mode => mode(1)& mode(0),
    start => start);
  ecb : ecb
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sel3 => sel3_ecb_1& sel3_ecb_0,
    sel2 => sel2_ecb_1& sel2_ecb_0,
    sel1 => sel1_ecb_1& sel1_ecb_0,
    en_out => en_out_ecb,
    en_rcbc => en_rcbc_ecb,
    en_iv => en_iv_ecb,
    en_in => en_in_ecb,
    cke_b_mode => cke_b_mode_ecb,
    cp_ready => cp_ready_ecb,
    emp_buf => emp_buf_ecb,
    s_gen_key => s_gen_key_ecb,
    s_mesin => s_mesin_ecb,
    e_mesin => e_mesin_ecb,
    e => e,
    req_cp => req_cp,
    finish => finish,
    key_ready => key_ready,
    cke => cke,
    clk => clk,
    active => modeecb);
  cbc : cbc
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sel3 => sel3_cbc_1& sel3_cbc_0,
    sel2 => sel2_cbc_1& sel2_cbc_0,
    sel1 => sel1_cbc_1& sel1_cbc_0,
    en_out => en_out_cbc,
    en_rcbc => en_rcbc_cbc,
    en_iv => en_iv_cbc,
    en_in => en_in_cbc,
    cke_b_mode => cke_b_mode_cbc,
    cp_ready => cp_ready_cbc,
    emp_buf => emp_buf_cbc,
    s_gen_key => s_gen_key_cbc,
    s_mesin => s_mesin_cbc,
    e_mesin => e_mesin_cbc,
    first_dt => first_dt_cbc,
    e => e,
    finish => finish,
    dt_ready => dt_ready,
    key_ready => key_ready,
    ikey_ready => ikey_ready,
    cke => cke,
    clk => clk,
    active => modecbc);
  cfb : cfb
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sel3 => sel3_cfb_1& sel3_cfb_0,
    sel2 => sel2_cfb_1& sel2_cfb_0,
    sel1 => sel1_cfb_1& sel1_cfb_0,
    en_out => en_out_cfb,
    en_rcbc => en_rcbc_cfb,
    en_iv => en_iv_cfb,
    en_in => en_in_cfb,
    cke_b_mode => cke_b_mode_cfb,
    cp_ready => cp_ready_cfb,
    emp_buf => emp_buf_cfb,
    s_gen_key => s_gen_key_cfb,
    s_mesin => s_mesin_cfb,
    e_mesin => e_mesin_cfb,
    first_dt => first_dt_cfb,
    e => e,
    finish => finish,
    dt_ready => dt_ready,
    key_ready => key_ready,
    clk => clk,
    active => modecfb);
  ofb : ofb
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sel3 => sel3_ofb_1& sel3_ofb_0,
    sel2 => sel2_ofb_1& sel2_ofb_0,
    sel1 => sel1_ofb_1& sel1_ofb_0,
    en_out => en_out_ofb,
    en_rcbc => en_rcbc_ofb,
    en_iv => en_iv_ofb,
    en_in => en_in_ofb,
    cke_b_mode => cke_b_mode_ofb,
    cp_ready => cp_ready_ofb,
    emp_buf => emp_buf_ofb,
    s_mesin => s_mesin_ofb,
    e_mesin => e_mesin_ofb,
    first_dt => first_dt_ofb,
    finish => finish,
    dt_ready => dt_ready,
    key_ready => key_ready,
    clk => clk,
    active => modeofb);
  zero : zero_x0
    PORT MAP (
    vss => vss,
    vdd => vdd,
    nq => nol);
  mux_first_dt : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => first_dt,
    sel => mode(1)& mode(0),
    d => first_dt_ofb,
    c => first_dt_cfb,
    b => first_dt_cbc,
    a => nol);
  mux_e_mesin : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => e_mesin,
    sel => mode(1)& mode(0),
    d => e_mesin_ofb,
    c => e_mesin_cfb,
    b => e_mesin_cbc,
    a => e_mesin_ecb);
  mux_s_mesin : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => s_mesin,
    sel => mode(1)& mode(0),
    d => s_mesin_ofb,
    c => s_mesin_cfb,
    b => s_mesin_cbc,
    a => s_mesin_ecb);
  mux_s_gen_key : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => s_gen_key,
    sel => mode(1)& mode(0),
    d => cke_b_mode_ofb,
    c => s_gen_key_cfb,
    b => s_gen_key_cbc,
    a => s_gen_key_ecb);
  mux_emp_buf : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => emp_buf,
    sel => mode(1)& mode(0),
    d => emp_buf_ofb,
    c => emp_buf_cfb,
    b => emp_buf_cbc,
    a => emp_buf_ecb);
  mux_cp_ready : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => cp_ready,
    sel => mode(1)& mode(0),
    d => cp_ready_ofb,
    c => cp_ready_cfb,
    b => cp_ready_cbc,
    a => cp_ready_ecb);
  mux_cke_b_mode : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => cke_b_mode,
    sel => mode(1)& mode(0),
    d => cke_b_mode_ofb,
    c => cke_b_mode_cfb,
    b => cke_b_mode_cbc,
    a => cke_b_mode_ecb);
  mux_en_in : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => en_in,
    sel => mode(1)& mode(0),
    d => en_in_ofb,
    c => en_in_cfb,
    b => en_in_cbc,
    a => en_in_ecb);
  mux_en_iv : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => en_iv,
    sel => mode(1)& mode(0),
    d => en_iv_ofb,
    c => en_iv_cfb,
    b => en_iv_cbc,
    a => en_iv_ecb);
  mux_en_rcbc : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => en_rcbc,
    sel => mode(1)& mode(0),
    d => en_rcbc_ofb,
    c => en_rcbc_cfb,
    b => en_rcbc_cbc,
    a => en_rcbc_ecb);
  mux_en_out : mux01
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => en_out,
    sel => mode(1)& mode(0),
    d => en_out_ofb,
    c => en_out_cfb,
    b => en_out_cbc,
    a => en_out_ecb);
  mux_sel1 : mux02
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => sel1(1)& sel1(0),
    sel => mode(1)& mode(0),
    d => sel1_ofb_1& sel1_ofb_0,
    c => sel1_cfb_1& sel1_cfb_0,
    b => sel1_cbc_1& sel1_cbc_0,
    a => sel1_ecb_1& sel1_ecb_0);
  mux_sel2 : mux02
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => sel2(1)& sel2(0),
    sel => mode(1)& mode(0),
    d => sel2_ofb_1& sel2_ofb_0,
    c => sel2_cfb_1& sel2_cfb_0,
    b => sel2_cbc_1& sel2_cbc_0,
    a => sel2_ecb_1& sel2_ecb_0);
  mux_sel3 : mux02
    PORT MAP (
    vss => vss,
    vdd => vdd,
    o => sel3(1)& sel3(0),
    sel => mode(1)& mode(0),
    d => sel3_ofb_1& sel3_ofb_0,
    c => sel3_cfb_1& sel3_cfb_0,
    b => sel3_cbc_1& sel3_cbc_0,
    a => sel3_ecb_1& sel3_ecb_0);

end VST;

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.