URL
https://opencores.org/ocsvn/w11/w11/trunk
Subversion Repositories w11
[/] [w11/] [tags/] [w11a_V0.7/] [rtl/] [bplib/] [bpgen/] [bpgenlib.vhd] - Rev 18
Go to most recent revision | Compare with Previous | Blame | View Log
-- $Id: bpgenlib.vhd 472 2013-01-06 14:39:10Z mueller $ -- -- Copyright 2011-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> -- -- This program is free software; you may redistribute and/or modify it under -- the terms of the GNU General Public License as published by the Free -- Software Foundation, either version 2, or at your option any later version. -- -- This program is distributed in the hope that it will be useful, but -- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- for complete details. -- ------------------------------------------------------------------------------ -- Package Name: bpliblib -- Description: Generic Board/Part components -- -- Dependencies: - -- Tool versions: 12.1, 13.3; ghdl 0.26-0.29 -- Revision History: -- Date Rev Version Comment -- 2013-01-06 472 1.0.7 add sn_humanio_demu_rbus -- 2011-11-16 426 1.0.6 now numeric_std clean -- 2011-10-10 413 1.0.5 add sn_humanio_demu -- 2011-08-07 404 1.0.4 add RELAY generic for bp_rs232_2l4l_iob -- 2011-08-06 403 1.0.3 add RESET port for bp_rs232_2l4l_iob -- 2011-07-09 391 1.0.2 move in bp_rs232_2l4l_iob from s3boardlib -- 2011-07-08 390 1.0.1 move in sn_(4x7segctl|humanio*) from s3boardlib -- 2011-07-01 386 1.0 Initial version (with rs232_iob's and bp_swibtnled) ------------------------------------------------------------------------------ library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use work.slvtypes.all; use work.rblib.all; package bpgenlib is component bp_rs232_2line_iob is -- iob's for 2 line rs232 (RXD,TXD) port ( CLK : in slbit; -- clock RXD : out slbit; -- receive data (board view) TXD : in slbit; -- transmit data (board view) I_RXD : in slbit; -- pad-i: receive data (board view) O_TXD : out slbit -- pad-o: transmit data (board view) ); end component; component bp_rs232_4line_iob is -- iob's for 4 line rs232 (w/ RTS,CTS) port ( CLK : in slbit; -- clock RXD : out slbit; -- receive data (board view) TXD : in slbit; -- transmit data (board view) CTS_N : out slbit; -- clear to send (act. low) RTS_N : in slbit; -- request to send (act. low) I_RXD : in slbit; -- pad-i: receive data (board view) O_TXD : out slbit; -- pad-o: transmit data (board view) I_CTS_N : in slbit; -- pad-i: clear to send (act. low) O_RTS_N : out slbit -- pad-o: request to send (act. low) ); end component; component bp_rs232_2l4l_iob is -- iob's for dual 2l+4l rs232, w/ select generic ( RELAY : boolean := false); -- add a relay stage towards IOB's port ( CLK : in slbit; -- clock RESET : in slbit := '0'; -- reset SEL : in slbit; -- select, '0' for port 0 RXD : out slbit; -- receive data (board view) TXD : in slbit; -- transmit data (board view) CTS_N : out slbit; -- clear to send (act. low) RTS_N : in slbit; -- request to send (act. low) I_RXD0 : in slbit; -- pad-i: p0: receive data (board view) O_TXD0 : out slbit; -- pad-o: p0: transmit data (board view) I_RXD1 : in slbit; -- pad-i: p1: receive data (board view) O_TXD1 : out slbit; -- pad-o: p1: transmit data (board view) I_CTS1_N : in slbit; -- pad-i: p1: clear to send (act. low) O_RTS1_N : out slbit -- pad-o: p1: request to send (act. low) ); end component; component bp_swibtnled is -- generic SWI, BTN and LED handling generic ( SWIDTH : positive := 4; -- SWI port width BWIDTH : positive := 4; -- BTN port width LWIDTH : positive := 4; -- LED port width DEBOUNCE : boolean := true); -- instantiate debouncer for SWI,BTN port ( CLK : in slbit; -- clock RESET : in slbit := '0'; -- reset CE_MSEC : in slbit; -- 1 ms clock enable SWI : out slv(SWIDTH-1 downto 0); -- switch settings, debounced BTN : out slv(BWIDTH-1 downto 0); -- button settings, debounced LED : in slv(LWIDTH-1 downto 0); -- led data I_SWI : in slv(SWIDTH-1 downto 0); -- pad-i: switches I_BTN : in slv(BWIDTH-1 downto 0); -- pad-i: buttons O_LED : out slv(LWIDTH-1 downto 0) -- pad-o: leds ); end component; component bp_swibtnled_rbus is -- swi,btn,led handling /w rbus icept generic ( SWIDTH : positive := 4; -- SWI port width BWIDTH : positive := 4; -- BTN port width LWIDTH : positive := 4; -- LED port width DEBOUNCE : boolean := true; -- instantiate debouncer for SWI,BTN RB_ADDR : slv8 := slv(to_unsigned(2#10000000#,8))); port ( CLK : in slbit; -- clock RESET : in slbit := '0'; -- reset CE_MSEC : in slbit; -- 1 ms clock enable RB_MREQ : in rb_mreq_type; -- rbus: request RB_SRES : out rb_sres_type; -- rbus: response SWI : out slv(SWIDTH-1 downto 0); -- switch settings, debounced BTN : out slv(BWIDTH-1 downto 0); -- button settings, debounced LED : in slv(LWIDTH-1 downto 0); -- led data I_SWI : in slv(SWIDTH-1 downto 0); -- pad-i: switches I_BTN : in slv(BWIDTH-1 downto 0); -- pad-i: buttons O_LED : out slv(LWIDTH-1 downto 0) -- pad-o: leds ); end component; component sn_4x7segctl is -- Quad 7 segment display controller generic ( CDWIDTH : positive := 6); -- clk divider width (must be >= 5) port ( CLK : in slbit; -- clock DIN : in slv16; -- data DP : in slv4; -- decimal points ANO_N : out slv4; -- anodes (act.low) SEG_N : out slv8 -- segements (act.low) ); end component; component sn_humanio is -- human i/o handling: swi,btn,led,dsp generic ( BWIDTH : positive := 4; -- BTN port width DEBOUNCE : boolean := true); -- instantiate debouncer for SWI,BTN port ( CLK : in slbit; -- clock RESET : in slbit := '0'; -- reset CE_MSEC : in slbit; -- 1 ms clock enable SWI : out slv8; -- switch settings, debounced BTN : out slv(BWIDTH-1 downto 0); -- button settings, debounced LED : in slv8; -- led data DSP_DAT : in slv16; -- display data DSP_DP : in slv4; -- display decimal points I_SWI : in slv8; -- pad-i: switches I_BTN : in slv(BWIDTH-1 downto 0); -- pad-i: buttons O_LED : out slv8; -- pad-o: leds O_ANO_N : out slv4; -- pad-o: 7 seg disp: anodes (act.low) O_SEG_N : out slv8 -- pad-o: 7 seg disp: segments (act.low) ); end component; component sn_humanio_demu is -- human i/o handling: swi,btn,led only generic ( DEBOUNCE : boolean := true); -- instantiate debouncer for SWI,BTN port ( CLK : in slbit; -- clock RESET : in slbit := '0'; -- reset CE_MSEC : in slbit; -- 1 ms clock enable SWI : out slv8; -- switch settings, debounced BTN : out slv4; -- button settings, debounced LED : in slv8; -- led data DSP_DAT : in slv16; -- display data DSP_DP : in slv4; -- display decimal points I_SWI : in slv8; -- pad-i: switches I_BTN : in slv6; -- pad-i: buttons O_LED : out slv8 -- pad-o: leds ); end component; component sn_humanio_rbus is -- human i/o handling /w rbus intercept generic ( BWIDTH : positive := 4; -- BTN port width DEBOUNCE : boolean := true; -- instantiate debouncer for SWI,BTN RB_ADDR : slv8 := slv(to_unsigned(2#10000000#,8))); port ( CLK : in slbit; -- clock RESET : in slbit := '0'; -- reset CE_MSEC : in slbit; -- 1 ms clock enable RB_MREQ : in rb_mreq_type; -- rbus: request RB_SRES : out rb_sres_type; -- rbus: response SWI : out slv8; -- switch settings, debounced BTN : out slv(BWIDTH-1 downto 0); -- button settings, debounced LED : in slv8; -- led data DSP_DAT : in slv16; -- display data DSP_DP : in slv4; -- display decimal points I_SWI : in slv8; -- pad-i: switches I_BTN : in slv(BWIDTH-1 downto 0); -- pad-i: buttons O_LED : out slv8; -- pad-o: leds O_ANO_N : out slv4; -- pad-o: 7 seg disp: anodes (act.low) O_SEG_N : out slv8 -- pad-o: 7 seg disp: segments (act.low) ); end component; component sn_humanio_demu_rbus is -- human i/o swi,btn,led only /w rbus generic ( DEBOUNCE : boolean := true; -- instantiate debouncer for SWI,BTN RB_ADDR : slv8 := slv(to_unsigned(2#10000000#,8))); port ( CLK : in slbit; -- clock RESET : in slbit := '0'; -- reset CE_MSEC : in slbit; -- 1 ms clock enable RB_MREQ : in rb_mreq_type; -- rbus: request RB_SRES : out rb_sres_type; -- rbus: response SWI : out slv8; -- switch settings, debounced BTN : out slv4; -- button settings, debounced LED : in slv8; -- led data DSP_DAT : in slv16; -- display data DSP_DP : in slv4; -- display decimal points I_SWI : in slv8; -- pad-i: switches I_BTN : in slv6; -- pad-i: buttons O_LED : out slv8 -- pad-o: leds ); end component; end package bpgenlib;
Go to most recent revision | Compare with Previous | Blame | View Log