⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mac16s_25um_new.vhd

📁 FPGA to design in ECU, very help for engineer
💻 VHD
字号:
--------------------------------------------------------------------------------
--
-- File : mac16s_25um_new.vhd
-- Last Modification: 12/10/2002
--
-- Created In SpDE Version: SpDE 9.3.2
-- Author :	Stanley Hung, QuickLogic Corporation
-- Copyright (C) 2002, Licensed customers of QuickLogic may copy and modify
-- this file for use in designing with QuickLogic devices only.
--	
-- IMPORTANT NOTICE: DISCLAIMER OF WARRANTY
-- This design is provided without warranty of any kind. QuickLogic 
-- Corporation does not warrant, guarantee or make any representations
-- regarding the use, or the results of the use, of this design. QuickLogic
-- disclaims all implied warranties, including but not limited to implied
-- warranties of merchantability and fitness for a particular purpose. 
-- In addition and without limiting the generality of the foregoing, 
-- QuickLogic does not make any warranty of any kind that any item developed 
-- based on this design, or any portion of it, will not infringe any 
-- copyright, patent, trade secret or other intellectual property right of 
-- any person or entity in any country. It is the responsibility of the user
-- of the design to seek licenses for such intellectual property rights where
-- applicable. QuickLogic shall not be liable for any damages arising out of 
-- or in connection with the use of the design including liability for lost
-- profit, business interruption, or any other damages whatsoever.
--
-- Description : 
--	8-bit signed multiply-accumulator with reset logic.
--
-- History:	
--	Date	        Author					Version
--  12/10/02		Stanley Hung			1.0
--		- Header added to conform to coding standard.
--	
-------------------------------------------------------------------------------- 

library IEEE;
use IEEE.std_logic_1164.all;
entity RESET_MAC16 is
      Port (       A : In    STD_LOGIC_VECTOR (7 downto 0);
                 CIN : In    STD_LOGIC;
                 CLK : In    STD_LOGIC;
               RESET : In    STD_LOGIC;
               A_out : Out   STD_LOGIC_VECTOR (7 downto 0);
             CIN_out : Out   STD_LOGIC;
             sync_reset_outb : Out   STD_LOGIC );
end RESET_MAC16;


architecture SCHEMATIC of RESET_MAC16 is

	attribute syn_macro : integer;
	attribute ql_pack   : integer;
	attribute syn_macro of SCHEMATIC : architecture is 1;
	attribute ql_pack of SCHEMATIC : architecture is 1;
   signal sync_reset_out : STD_LOGIC;
   signal sync_reset_rep1 : STD_LOGIC;
   signal sync_reset : STD_LOGIC;
   signal A_out_DUMMY : STD_LOGIC_VECTOR  (7 downto 0);
   signal CIN_out_DUMMY : STD_LOGIC;
   signal sync_reset_outb_DUMMY : STD_LOGIC;

   component INV
      Port (       A : In    STD_LOGIC;
                   Q : Out   STD_LOGIC );
   end component;

   component DFF
      Port (     CLK : In    STD_LOGIC;
                   D : In    STD_LOGIC;
                   Q : Out   STD_LOGIC );
   end component;

   component AND2I1
      Port (       A : In    STD_LOGIC;
                   B : In    STD_LOGIC;
                   Q : Out   STD_LOGIC );
   end component;

begin


   A_out(7 downto 0) <= A_out_DUMMY(7 downto 0);
   CIN_out <= CIN_out_DUMMY;
   sync_reset_outb <= sync_reset_outb_DUMMY;
   I23 : INV
      Port Map ( A=>sync_reset_out, Q=>sync_reset_outb_DUMMY );
   I21 : DFF
      Port Map ( CLK=>CLK, D=>RESET, Q=>sync_reset_out );
   I4 : DFF
      Port Map ( CLK=>CLK, D=>RESET, Q=>sync_reset );
   I24 : DFF
      Port Map ( CLK=>CLK, D=>RESET, Q=>sync_reset_rep1 );
   I22 : AND2I1
      Port Map ( A=>CIN, B=>sync_reset_out, Q=>CIN_out_DUMMY );
   I13 : AND2I1
      Port Map ( A=>A(0), B=>sync_reset, Q=>A_out_DUMMY(0) );
   I14 : AND2I1
      Port Map ( A=>A(1), B=>sync_reset, Q=>A_out_DUMMY(1) );
   I15 : AND2I1
      Port Map ( A=>A(2), B=>sync_reset, Q=>A_out_DUMMY(2) );
   I16 : AND2I1
      Port Map ( A=>A(3), B=>sync_reset, Q=>A_out_DUMMY(3) );
   I17 : AND2I1
      Port Map ( A=>A(4), B=>sync_reset_rep1, Q=>A_out_DUMMY(4) );
   I18 : AND2I1
      Port Map ( A=>A(5), B=>sync_reset_rep1, Q=>A_out_DUMMY(5) );
   I19 : AND2I1
      Port Map ( A=>A(6), B=>sync_reset_rep1, Q=>A_out_DUMMY(6) );
   I20 : AND2I1
      Port Map ( A=>A(7), B=>sync_reset_rep1, Q=>A_out_DUMMY(7) );

end SCHEMATIC;

library IEEE;
use IEEE.std_logic_1164.all;
entity mac16s_25um_new is
      Port (       A : In    STD_LOGIC_VECTOR (7 downto 0);
                   B : In    STD_LOGIC_VECTOR (7 downto 0);
                 CIN : In    STD_LOGIC;
                 CLK : In    STD_LOGIC;
               RESET : In    STD_LOGIC;
                   Q : Out   STD_LOGIC_VECTOR (16 downto 0) );
end mac16s_25um_new;


architecture SCHEMATIC of mac16s_25um_new is

	constant 		GND_bit : STD_LOGIC := '0';
   signal    A_out : STD_LOGIC_VECTOR (7 downto 0);
   signal  CIN_out : STD_LOGIC;
	constant 		VCC : STD_LOGIC := '1';
   signal sync_reset_outb : STD_LOGIC;
	constant 		GND : STD_LOGIC := '0';
   signal Q_DUMMY : STD_LOGIC_VECTOR  (16 downto 0);

   component RESET_MAC16
      Port (       A : In    STD_LOGIC_VECTOR  (7 downto 0);
                 CIN : In    STD_LOGIC;
                 CLK : In    STD_LOGIC;
               RESET : In    STD_LOGIC;
               A_out : Out   STD_LOGIC_VECTOR  (7 downto 0);
             CIN_out : Out   STD_LOGIC;
             sync_reset_outb : Out   STD_LOGIC );
   end component;

   component ECU
      Port (       A : In    STD_LOGIC_VECTOR  (15 downto 0);
                   B : In    STD_LOGIC_VECTOR  (15 downto 0);
                 CIN : In    STD_LOGIC;
                 CLK : In    STD_LOGIC;
               RESET : In    STD_LOGIC;
                  S1 : In    STD_LOGIC;
                  S2 : In    STD_LOGIC;
                  S3 : In    STD_LOGIC;
               SIGN1 : In    STD_LOGIC;
               SIGN2 : In    STD_LOGIC;
                   Q : Out   STD_LOGIC_VECTOR  (16 downto 0) );
   end component;

begin


   Q(16 downto 0) <= Q_DUMMY(16 downto 0);
   I24 : RESET_MAC16
      Port Map ( A(7 downto 0)=>A(7 downto 0), CIN=>CIN, CLK=>CLK,
                 RESET=>RESET, A_out(7 downto 0)=>A_out(7 downto 0),
                 CIN_out=>CIN_out, sync_reset_outb=>sync_reset_outb );
   I3 : ECU
      Port Map ( A(15 downto 8)=>B(7 downto 0),
                 A(7 downto 0)=>A_out(7 downto 0),  B(15)=>GND_bit,
                  B(14)=>GND_bit,  B(13)=>GND_bit,  B(12)=>GND_bit,
                  B(11)=>GND_bit,  B(10)=>GND_bit,  B(9)=>GND_bit,
                  B(8)=>GND_bit,  B(7)=>GND_bit,  B(6)=>GND_bit,
                  B(5)=>GND_bit,  B(4)=>GND_bit,  B(3)=>GND_bit,
                  B(2)=>GND_bit,  B(1)=>GND_bit,  B(0)=>GND_bit,
                 CIN=>CIN_out, CLK=>CLK, RESET=>gnd, S1=>VCC,
                 S2=>sync_reset_outb, S3=>gnd, SIGN1=>VCC, SIGN2=>VCC,
                 Q(16 downto 0)=>Q_DUMMY(16 downto 0) );

end SCHEMATIC;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -