Books | ALBI_Books | Fig_034

library IEEE;
use IEEE.std_logic_1164.all;
-----------------------------------------------
entity top is
    port 
        (
        bit0      : in  std_logic;
        bit1      : in  std_logic;
        clk       : in  std_logic;
        data_in   : in  std_logic_vector(15 downto 0);
        dma       : in  std_logic;
        ext_adr   : in  std_logic_vector(15 downto 0);
        ext_in    : out std_logic_vector(15 downto 0);
        ext_out   : in  std_logic_vector(15 downto 0);
        ext_rdwr  : in  std_logic;
        idle      : out std_logic;
        m         : in  std_logic;
        rst       : in  std_logic;
        s         : in  std_logic
        );
end top;
-----------------------------------------------
architecture arc_top of top is
component Structm is
    port (
        bit0         : in std_logic;
        bit1         : in std_logic;
        bor_en       : out std_logic;
        br_en        : out std_logic;
        clk          : in std_logic;
        comp4_1_dout : in std_logic;
        ctr_mux0     : out std_logic;
        ctr_mux1_0   : out std_logic;
        ctr_mux1_1   : out std_logic;
        ctr_mux1_2   : out std_logic;
        ctr_mux2_0   : out std_logic;
        ctr_mux2_1   : out std_logic;
        ctr_mux2_2   : out std_logic;
        dma          : in std_logic;
        ext_rdwr     : in std_logic;
        idle         : out std_logic;
        inpr_en      : out std_logic;
        ir1_10       : in std_logic;
        ir1_8        : in std_logic;
        ir1_9        : in std_logic;
        ir1_en       : out std_logic;
        ir2_en       : out std_logic;
        m            : in std_logic;
        m0_rdwr      : out std_logic;
        m1_rdwr      : out std_logic;
        pc_count     : out std_logic;
        pc_en        : out std_logic;
        ralu_en      : out std_logic;
        rialu_en     : out std_logic;
        rst          : in std_logic;
        s            : in std_logic
    );
end component;

component dp is
    port
        (
        
        -- Inputs from control unit
        ctr_mux2_0           :    in    std_logic;    --(y1)
        br_en                :    in    std_logic;    --(y2)
        ctr_mux1_0           :    in    std_logic;    --(y3)
        ctr_mux0             :    in    std_logic;    --(y4)
        ir2_en               :    in    std_logic;    --(y5)
        ctr_mux1_2           :    in    std_logic;    --(y6)
        bor_en               :    in    std_logic;    --(y7)
        ralu_en              :    in    std_logic;    --(y8)
        ctr_mux2_1           :    in    std_logic;    --(y9)
        pc_en                :    in    std_logic;    --(y10)
        inpr_en              :    in    std_logic;    --(y11)
        ctr_mux1_1           :    in    std_logic;    --(y12)
        m1_rdwr              :    in    std_logic;    --(y13)
        m0_rdwr              :    in    std_logic;    --(y14)
        ctr_mux2_2           :    in    std_logic;    --(y15)
        rialu_en             :    in    std_logic;    --(y16)
        pc_count             :    in    std_logic;    --(y17)
        ir1_en               :    in    std_logic;    --(y18)
        
        -- Inputs from outside
        clk                  :    in    std_logic;
        rst                  :    in    std_logic;
        ext_adr              :    in    std_logic_vector(15 downto 0);
        ext_out              :    in    std_logic_vector(15 downto 0);
        data_in              :    in    std_logic_vector(15 downto 0);
        
        -- Outputs to control unit
        ir1_9                :    out   std_logic;    --(x1)
        ir1_10               :    out   std_logic;    --(x2)
        ir1_8                :    out   std_logic;    --(x3)
        comp4_1_dout         :    out   std_logic;    --(x10)
        
        -- Outputs to outside
        ext_in               :    out   std_logic_vector(15 downto 0)
        );

end component;

    -- output of  control unit
    signal ctr_mux2_0    : std_logic;
    signal br_en         : std_logic;
    signal ctr_mux1_0    : std_logic;
    signal ctr_mux0      : std_logic;
    signal ir2_en        : std_logic;
    signal ctr_mux1_2    : std_logic;
    signal bor_en        : std_logic;
    signal ralu_en       : std_logic;
    signal ctr_mux2_1    : std_logic;
    signal pc_en         : std_logic;
    signal inpr_en       : std_logic;
    signal ctr_mux1_1    : std_logic;
    signal m1_rdwr       : std_logic;
    signal m0_rdwr       : std_logic;
    signal ctr_mux2_2    : std_logic;
    signal rialu_en      : std_logic;
    signal pc_count      : std_logic;
    signal ir1_en        : std_logic;

    -- output of operational unit
    signal ir1_9         : std_logic;
    signal ir1_10        : std_logic;
    signal ir1_8         : std_logic;
    signal comp4_1_dout  : std_logic;
              
begin
  
    u1_fsm : structm port map
        (
        bit0          => bit0         ,
        bit1          => bit1         ,
        bor_en        => bor_en       ,
        br_en         => br_en        ,
        clk           => clk          ,
        comp4_1_dout  => comp4_1_dout ,
        ctr_mux0      => ctr_mux0     ,
        ctr_mux1_0    => ctr_mux1_0   ,
        ctr_mux1_1    => ctr_mux1_1   ,
        ctr_mux1_2    => ctr_mux1_2   ,
        ctr_mux2_0    => ctr_mux2_0   ,
        ctr_mux2_1    => ctr_mux2_1   ,
        ctr_mux2_2    => ctr_mux2_2   ,
        dma           => dma          ,
        ext_rdwr      => ext_rdwr     ,
        idle          => idle         ,
        inpr_en       => inpr_en      ,
        ir1_10        => ir1_10       ,
        ir1_8         => ir1_8        ,
        ir1_9         => ir1_9        ,
        ir1_en        => ir1_en       ,
        ir2_en        => ir2_en       ,
        m             => m            ,
        m0_rdwr       => m0_rdwr      ,
        m1_rdwr       => m1_rdwr      ,
        pc_count      => pc_count     ,
        pc_en         => pc_en        ,
        ralu_en       => ralu_en      ,
        rialu_en      => rialu_en     ,
        rst           => rst          ,
        s             => s            
        );

    u2_dp : dp port map
        (
        clk           => clk          ,
        rst           => rst          ,
        ext_adr       => ext_adr      ,
        ext_out       => ext_out      ,
        data_in       => data_in      ,
        ctr_mux2_0    => ctr_mux2_0   ,
        br_en         => br_en        ,
        ctr_mux1_0    => ctr_mux1_0   ,
        ctr_mux0      => ctr_mux0     ,
        ir2_en        => ir2_en       ,
        ctr_mux1_2    => ctr_mux1_2   ,
        bor_en        => bor_en       ,
        ralu_en       => ralu_en      ,
        ctr_mux2_1    => ctr_mux2_1   ,
        pc_en         => pc_en        ,
        inpr_en       => inpr_en      ,
        ctr_mux1_1    => ctr_mux1_1   ,
        m1_rdwr       => m1_rdwr      ,
        m0_rdwr       => m0_rdwr      ,
        ctr_mux2_2    => ctr_mux2_2   ,
        rialu_en      => rialu_en     ,
        pc_count      => pc_count     ,
        ir1_en        => ir1_en       ,
        ext_in        => ext_in       ,
        ir1_9         => ir1_9        ,
        ir1_10        => ir1_10       ,
        ir1_8         => ir1_8        ,
        comp4_1_dout  => comp4_1_dout 
        );    
end arc_top;
-----------------------------------
configuration cfg_top of top is
    for arc_top
    end for;
end cfg_top;
------------------------------------

Synthezza logo White 2020.png

PRODUCTS

Synthagate—HLS & RTL

     Synthagate Overview

     What makes Synthagate different

     Examples of High Level and RTL Design

          Synthesis From GUI

          Synthesis From SystemC

          Synthesis From VHDL

Logic Synthesizer

     Overview
     Logic Synthesizer Experiments

     Benchmarks

DESIGN TECHNOLOGY

Algorithmic State machines in HLS

     What is Algorithmic State Machine?

     Time in ASM

     ASM in GUI, System C and VHDL

     ASM Transformations

          Asm Combining

          Asm Minimization

          SubAsm Inclusion

High Level Synthesis

     How Does Synthagate Work

     ASM Creator Short Manual

Synthesis at Register Transfer Level (RTL)

     Data Path

     Control Unit

     Top Design

BOOKS

  

DEMO SERIES

  

COMPANY

     About Us

     Contact US

  

Copyright © 2013 - 2020 Synthezza Corporation. All Rights Reserved

Synthezza logo navy.png