📄 mac16s_25um_new.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 + -