Books | Four_Books | Fig_63

-- Automatically generated using Goals v1.0.1.170    04/11/2018 10:12:31
-----------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use work.components.all;
-----------------------------
entity 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 dp;
-----------------------------------------------
architecture arc_dp of dp is
    signal mux0_dout         :  std_logic_vector (3 downto 0);
    signal mux1_dout         :  std_logic_vector (7 downto 0);
    signal mux2_dout         :  std_logic_vector (7 downto 0);
    signal mux3_dout         :  std_logic_vector (7 downto 0);
    signal alu8_1_dout       :  std_logic_vector (7 downto 0);
    signal guess_dout        :  std_logic_vector (7 downto 0);
    signal high_dout         :  std_logic_vector (7 downto 0);
    signal largest_dout      :  std_logic_vector (7 downto 0);
    signal low_dout          :  std_logic_vector (7 downto 0);
    signal sum_dout          :  std_logic_vector (7 downto 0);
    signal temp_dout         :  std_logic_vector (7 downto 0);
    signal tempreg8_1_dout   :  std_logic_vector (7 downto 0);
    signal x_dout            :  std_logic_vector (7 downto 0);
    signal y_dout            :  std_logic_vector (7 downto 0);
    signal ctr_mux0          :  std_logic_vector (1 downto 0);
    signal ctr_mux1          :  std_logic_vector (3 downto 0);
    signal ctr_mux2          :  std_logic_vector (2 downto 0);
begin
    
    ---------
    -- Mux 0
    ---------
    u1_mux0     :  mux_3x4    port map ("0001", "0010", "1100", ctr_mux0, mux0_dout);
    
    ---------
    -- Mux 1
    ---------
    u2_mux1     :  mux_11x8   port map (guess_dout, x_dout, sum_dout, x"00", tempreg8_1_dout, largest_dout, low_dout, y_dout, data_in1, data_in, x"64", ctr_mux1, mux1_dout);
    
    ---------
    -- Mux 2
    ---------
    u3_mux2     :  mux_8x8    port map (x_dout, guess_dout, high_dout, data_in2, tempreg8_1_dout, x"00", x"01", y_dout, ctr_mux2, mux2_dout);
    
    ---------
    -- Mux 3
    ---------
    u4_mux3     :  mux_2x8    port map (alu8_1_dout, tempreg8_1_dout, ctr_mux3, mux3_dout);
    
    ---------
    -- blink
    ---------
    u5_blink    :  rsff       port map (clk, blink_reset, blink_set, rst, blink);
    
    ---------
    -- guess
    ---------
    u6_guess    :  reg_8bit   port map (clk, rst, mux3_dout, guess_en, guess_dout);
    
    ---------
    -- high
    ---------
    u7_high     :  reg_8bit   port map (clk, rst, mux1_dout, high_en, high_dout);
    
    ---------
    -- largest
    ---------
    u8_largest  :  reg_8bit   port map (clk, rst, mux1_dout, largest_en, largest_dout);
    
    ---------
    -- low
    ---------
    u9_low      :  reg_8bit   port map (clk, rst, mux2_dout, low_en, low_dout);
    
    ---------
    -- sum
    ---------
    u10_sum     :  reg_8bit   port map (clk, rst, mux1_dout, sum_en, sum_dout);
    
    ---------
    -- temp
    ---------
    u11_temp    :  reg_8bit   port map (clk, rst, largest_dout, temp_en, temp_dout);
    
    ---------
    -- tempreg8_1
    ---------
    u12_tempreg8_1  :  reg_8bit   port map (clk, rst, alu8_1_dout, tempreg8_1_en, tempreg8_1_dout);
    
    ---------
    -- x
    ---------
    u13_x       :  reg_8bit   port map (clk, rst, mux1_dout, x_en, x_dout);
    
    ---------
    -- y
    ---------
    u14_y       :  reg_8bit   port map (clk, rst, mux2_dout, y_en, y_dout);
    
    ---------
    -- comp8_1
    ---------
    u15_comp8_1  :  g_comp     generic map (comp_kind => "gr", size => 8) port map (x_dout, temp_dout, comp8_1_dout);
    
    ---------
    -- comp8_2
    ---------
    u16_comp8_2  :  g_comp     generic map (comp_kind => "eq", size => 8) port map (x_dout, x"00", comp8_2_dout);
    
    ---------
    -- comp8_3
    ---------
    u17_comp8_3  :  g_comp     generic map (comp_kind => "gr", size => 8) port map (x_dout, y_dout, comp8_3_dout);
    
    ---------
    -- comp8_4
    ---------
    u18_comp8_4  :  g_comp     generic map (comp_kind => "eq", size => 8) port map (x_dout, y_dout, comp8_4_dout);
    
    ---------
    -- alu8_1
    ---------
    u19_alu8_1  :  alu_8bit   port map (mux1_dout, mux2_dout, mux0_dout, alu8_1_dout);
    
    
    
    -----------------------
    -- Additional Signals
    -----------------------
    
    ctr_mux0           <=    ctr_mux0_1 & ctr_mux0_0;
    ctr_mux1           <=    ctr_mux1_3 & ctr_mux1_2 & ctr_mux1_1 & ctr_mux1_0;
    ctr_mux2           <=    ctr_mux2_2 & ctr_mux2_1 & ctr_mux2_0;
    data_out           <=    mux1_dout;
    
    
end  arc_dp;
-----------------------------------------------
configuration cfg_dp of dp is
    for arc_dp
    end for;
end cfg_dp;
-----------------------------

 

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