Books | Four_Books | Fig_65

library IEEE;
use IEEE.std_logic_1164.all;
-----------------------------------------------
entity top is
    port 
        (
        bit0       : in  std_logic;
        bit1       : in  std_logic;
        blink      : out std_logic;
        clk        : in  std_logic;
        data_in    : in  std_logic_vector(7 downto 0);
        data_in1   : in  std_logic_vector(7 downto 0);
        data_in2   : in  std_logic_vector(7 downto 0);
        data_out   : out std_logic_vector(7 downto 0);
        hi_button  : in  std_logic;
        idle       : out std_logic;
        lo_button  : 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;
        blink_reset   : out std_logic;
        blink_set     : out std_logic;
        clk           : in std_logic;
        comp8_1_dout  : in std_logic;
        comp8_2_dout  : in std_logic;
        comp8_3_dout  : in std_logic;
        comp8_4_dout  : in std_logic;
        ctr_mux0_0    : out std_logic;
        ctr_mux0_1    : out std_logic;
        ctr_mux1_0    : out std_logic;
        ctr_mux1_1    : out std_logic;
        ctr_mux1_2    : out std_logic;
        ctr_mux1_3    : out std_logic;
        ctr_mux2_0    : out std_logic;
        ctr_mux2_1    : out std_logic;
        ctr_mux2_2    : out std_logic;
        ctr_mux3      : out std_logic;
        guess_en      : out std_logic;
        hi_button     : in std_logic;
        high_en       : out std_logic;
        idle          : out std_logic;
        largest_en    : out std_logic;
        lo_button     : in std_logic;
        low_en        : out std_logic;
        rst           : in std_logic;
        s             : in std_logic;
        sum_en        : out std_logic;
        temp_en       : out std_logic;
        tempreg8_1_en : out std_logic;
        x_en          : out std_logic;
        y_en          : out std_logic
    );
end component;

component dp is
    port
        (
        
        -- Inputs from control unit
        ctr_mux1_0      :  in    std_logic;    --(y1)
        ctr_mux1_2      :  in    std_logic;    --(y2)
        x_en            :  in    std_logic;    --(y3)
        ctr_mux2_2      :  in    std_logic;    --(y4)
        y_en            :  in    std_logic;    --(y5)
        ctr_mux1_3      :  in    std_logic;    --(y6)
        ctr_mux2_1      :  in    std_logic;    --(y7)
        ctr_mux2_0      :  in    std_logic;    --(y8)
        blink_set       :  in    std_logic;    --(y9)
        ctr_mux3        :  in    std_logic;    --(y10)
        guess_en        :  in    std_logic;    --(y11)
        blink_reset     :  in    std_logic;    --(y12)
        ctr_mux1_1      :  in    std_logic;    --(y13)
        high_en         :  in    std_logic;    --(y14)
        low_en          :  in    std_logic;    --(y15)
        temp_en         :  in    std_logic;    --(y16)
        largest_en      :  in    std_logic;    --(y17)
        sum_en          :  in    std_logic;    --(y18)
        ctr_mux0_0      :  in    std_logic;    --(y19)
        tempreg8_1_en   :  in    std_logic;    --(y20)
        ctr_mux0_1      :  in    std_logic;    --(y21)
        
        -- Inputs from outside
        clk             :  in    std_logic;
        rst             :  in    std_logic;
        data_in         :  in    std_logic_vector(7 downto 0);
        data_in1        :  in    std_logic_vector(7 downto 0);
        data_in2        :  in    std_logic_vector(7 downto 0);
        
        -- Outputs to control unit
        comp8_3_dout    :  out   std_logic;  --(x1)
        comp8_4_dout    :  out   std_logic;  --(x2)
        comp8_2_dout    :  out   std_logic;  --(x6)
        comp8_1_dout    :  out   std_logic;  --(x7)
        
        -- Outputs to outside
        blink           :  out   std_logic;
        data_out        :  out   std_logic_vector(7 downto 0)
        );

end component;

    -- output of  control unit
    signal ctr_mux1_0     : std_logic;
    signal ctr_mux1_2     : std_logic;
    signal x_en           : std_logic;
    signal ctr_mux2_2     : std_logic;
    signal y_en           : std_logic;
    signal ctr_mux1_3     : std_logic;
    signal ctr_mux2_1     : std_logic;
    signal ctr_mux2_0     : std_logic;
    signal blink_set      : std_logic;
    signal ctr_mux3       : std_logic;
    signal guess_en       : std_logic;
    signal blink_reset    : std_logic;
    signal ctr_mux1_1     : std_logic;
    signal high_en        : std_logic;
    signal low_en         : std_logic;
    signal temp_en        : std_logic;
    signal largest_en     : std_logic;
    signal sum_en         : std_logic;
    signal ctr_mux0_0     : std_logic;
    signal tempreg8_1_en  : std_logic;
    signal ctr_mux0_1     : std_logic;

    -- output of operational unit
    signal comp8_3_dout   : std_logic;
    signal comp8_4_dout   : std_logic;
    signal comp8_2_dout   : std_logic;
    signal comp8_1_dout   : std_logic;
              
begin
  
    u1_fsm : structm port map
        (
        bit0           => bit0          ,
        bit1           => bit1          ,
        blink_reset    => blink_reset   ,
        blink_set      => blink_set     ,
        clk            => clk           ,
        comp8_1_dout   => comp8_1_dout  ,
        comp8_2_dout   => comp8_2_dout  ,
        comp8_3_dout   => comp8_3_dout  ,
        comp8_4_dout   => comp8_4_dout  ,
        ctr_mux0_0     => ctr_mux0_0    ,
        ctr_mux0_1     => ctr_mux0_1    ,
        ctr_mux1_0     => ctr_mux1_0    ,
        ctr_mux1_1     => ctr_mux1_1    ,
        ctr_mux1_2     => ctr_mux1_2    ,
        ctr_mux1_3     => ctr_mux1_3    ,
        ctr_mux2_0     => ctr_mux2_0    ,
        ctr_mux2_1     => ctr_mux2_1    ,
        ctr_mux2_2     => ctr_mux2_2    ,
        ctr_mux3       => ctr_mux3      ,
        guess_en       => guess_en      ,
        hi_button      => hi_button     ,
        high_en        => high_en       ,
        idle           => idle          ,
        largest_en     => largest_en    ,
        lo_button      => lo_button     ,
        low_en         => low_en        ,
        rst            => rst           ,
        s              => s             ,
        sum_en         => sum_en        ,
        temp_en        => temp_en       ,
        tempreg8_1_en  => tempreg8_1_en ,
        x_en           => x_en          ,
        y_en           => y_en          
        );

    u2_dp : dp port map
        (
        clk            => clk           ,
        rst            => rst           ,
        data_in        => data_in       ,
        data_in1       => data_in1      ,
        data_in2       => data_in2      ,
        ctr_mux1_0     => ctr_mux1_0    ,
        ctr_mux1_2     => ctr_mux1_2    ,
        x_en           => x_en          ,
        ctr_mux2_2     => ctr_mux2_2    ,
        y_en           => y_en          ,
        ctr_mux1_3     => ctr_mux1_3    ,
        ctr_mux2_1     => ctr_mux2_1    ,
        ctr_mux2_0     => ctr_mux2_0    ,
        blink_set      => blink_set     ,
        ctr_mux3       => ctr_mux3      ,
        guess_en       => guess_en      ,
        blink_reset    => blink_reset   ,
        ctr_mux1_1     => ctr_mux1_1    ,
        high_en        => high_en       ,
        low_en         => low_en        ,
        temp_en        => temp_en       ,
        largest_en     => largest_en    ,
        sum_en         => sum_en        ,
        ctr_mux0_0     => ctr_mux0_0    ,
        tempreg8_1_en  => tempreg8_1_en ,
        ctr_mux0_1     => ctr_mux0_1    ,
        blink          => blink         ,
        data_out       => data_out      ,
        comp8_3_dout   => comp8_3_dout  ,
        comp8_4_dout   => comp8_4_dout  ,
        comp8_2_dout   => comp8_2_dout  ,
        comp8_1_dout   => comp8_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