<?xml version="1.0" encoding="UTF-8"?>
-<DiamondModule name="lattice_ecp3_fifo_18x16_dualport_oreg" module="FIFO_DC" VendorName="Lattice Semiconductor Corporation" generator="IPexpress" date="2013 01 29 15:48:28.879" version="5.4" type="Module" synthesis="" source_format="VHDL">
+<DiamondModule name="lattice_ecp3_fifo_18x16_dualport_oreg" module="FIFO_DC" VendorName="Lattice Semiconductor Corporation" generator="IPexpress" date="2013 01 30 15:13:06.265" version="5.4" type="Module" synthesis="" source_format="VHDL">
<Package>
- <File name="lattice_ecp3_fifo_18x16_dualport_oreg.lpc" type="lpc" modified="2013 01 29 15:48:26.000"/>
- <File name="lattice_ecp3_fifo_18x16_dualport_oreg.vhd" type="top_level_vhdl" modified="2013 01 29 15:48:26.000"/>
- <File name="lattice_ecp3_fifo_18x16_dualport_oreg_tmpl.vhd" type="template_vhdl" modified="2013 01 29 15:48:26.000"/>
- <File name="tb_lattice_ecp3_fifo_18x16_dualport_oreg_tmpl.vhd" type="testbench_vhdl" modified="2013 01 29 15:48:26.000"/>
+ <File name="lattice_ecp3_fifo_18x16_dualport_oreg.lpc" type="lpc" modified="2013 01 30 15:13:04.000"/>
+ <File name="lattice_ecp3_fifo_18x16_dualport_oreg.vhd" type="top_level_vhdl" modified="2013 01 30 15:13:04.000"/>
+ <File name="lattice_ecp3_fifo_18x16_dualport_oreg_tmpl.vhd" type="template_vhdl" modified="2013 01 30 15:13:04.000"/>
+ <File name="tb_lattice_ecp3_fifo_18x16_dualport_oreg_tmpl.vhd" type="testbench_vhdl" modified="2013 01 30 15:13:04.000"/>
</Package>
</DiamondModule>
CLK_RX_HALF_OUT <= clk_rx_half;
CLK_RX_FULL_OUT <= clk_rx_full;
-STAT_OP <= x"0007";
+
SD_TXDIS_OUT <= '0';
port map(
CLK_200 => clk_200_i,
CLK_100 => SYSCLK,
- RESET_IN => RESET,
+ RESET_IN => CLEAR,
TX_DATA_IN => MED_DATA_IN,
TX_PACKET_NUMBER_IN => MED_PACKET_NUM_IN,
PROC_SCI_CTRL: process
- variable cnt : integer range 0 to 3 := 0;
+ variable cnt : integer range 0 to 4 := 0;
begin
wait until rising_edge(SYSCLK);
SCI_ACK <= '0';
end if;
when SCTRL =>
if sci_reg_i = '1' then
- SCI_DATA_OUT <= debug_reg(8*(to_integer(unsigned(SCI_ADDR(2 downto 0))))+7 downto 8*(to_integer(unsigned(SCI_ADDR(2 downto 0)))));
+ SCI_DATA_OUT <= debug_reg(8*(to_integer(unsigned(SCI_ADDR(3 downto 0))))+7 downto 8*(to_integer(unsigned(SCI_ADDR(3 downto 0)))));
SCI_ACK <= '1';
sci_write_i <= '0';
sci_read_i <= '0';
sci_state <= IDLE;
when GET_WA =>
- if cnt = 3 then
+ if cnt = 4 then
cnt := 0;
sci_state <= IDLE;
else
debug_reg(47 downto 32) <= wa_position;
+
debug_reg(63 downto 48) <= (others => '0');
STAT_DEBUG <= debug_reg;
-
+
+STAT_OP(15) <= '0';
+STAT_OP(14) <= '0';
+STAT_OP(13) <= not rx_allow when rising_edge(SYSCLK); --make trbnet reset
+STAT_OP(12) <= '0';
+STAT_OP(11) <= '0';
+STAT_OP(10) <= rx_allow;
+STAT_OP(9) <= tx_allow;
+STAT_OP(8 downto 4) <= (others => '0');
+STAT_OP(3 downto 0) <= x"7";
end architecture;
USE_ONEWIRE : integer range 0 to 2 := c_YES;
BROADCAST_SPECIAL_ADDR : std_logic_vector(7 downto 0) := x"FF";
--media interfaces
- MII_NUMBER : integer range 1 to c_MAX_MII_PER_HUB := 4;
+ MII_NUMBER : integer range 0 to c_MAX_MII_PER_HUB := 4;
MII_IBUF_DEPTH : hub_iobuf_config_t := std_HUB_IBUF_DEPTH;
MII_IS_UPLINK : hub_mii_config_t := (others => c_YES);
MII_IS_DOWNLINK : hub_mii_config_t := (others => c_YES);
end generate;
end generate;
- gen_unused_signals : if 1 =1 generate
+ gen_unused_signals : if 1 =1 generate
constant i : integer := 2;
begin
buf_STAT_POINTS_locked((i+1)*32-1 downto i*32) <= (others => '0');
USE_ONEWIRE : integer range 0 to 2 := c_YES;
BROADCAST_SPECIAL_ADDR : std_logic_vector(7 downto 0) := x"FF";
--media interfaces
- MII_NUMBER : integer range 1 to c_MAX_MII_PER_HUB := 12;
+ MII_NUMBER : integer range 0 to c_MAX_MII_PER_HUB := 12;
MII_IBUF_DEPTH : hub_iobuf_config_t := std_HUB_IBUF_DEPTH;
MII_IS_UPLINK : hub_mii_config_t := (others => c_YES);
MII_IS_DOWNLINK : hub_mii_config_t := (others => c_YES);
USE_ONEWIRE : integer range 0 to 2 := c_YES;
BROADCAST_SPECIAL_ADDR : std_logic_vector(7 downto 0) := x"FF";
--media interfaces
- MII_NUMBER : integer range 2 to c_MAX_MII_PER_HUB := 12;
+ MII_NUMBER : integer range 1 to c_MAX_MII_PER_HUB := 12;
MII_IBUF_DEPTH : hub_iobuf_config_t := std_HUB_IBUF_DEPTH;
MII_IS_UPLINK : hub_mii_config_t := (others => c_YES);
MII_IS_DOWNLINK : hub_mii_config_t := (others => c_YES);
component trb_net16_hub_ipu_logic is
generic (
- POINT_NUMBER : integer range 2 to 32 := 3
+ POINT_NUMBER : integer range 1 to 32 := 3
);
port (
CLK : in std_logic;
component trb_net16_hub_logic is
generic (
--media interfaces
- POINT_NUMBER : integer range 2 to 32 := 2;
+ POINT_NUMBER : integer range 1 to 32 := 2;
MII_IS_UPLINK_ONLY : hub_mii_config_t := (others => c_NO)
);
port (
USE_ONEWIRE : integer range 0 to 2 := c_YES;
BROADCAST_SPECIAL_ADDR : std_logic_vector(7 downto 0) := x"FF";
--media interfaces
- MII_NUMBER : integer range 2 to c_MAX_MII_PER_HUB := 12;
+ MII_NUMBER : integer range 1 to c_MAX_MII_PER_HUB := 12;
MII_IS_UPLINK : hub_mii_config_t := (others => c_YES);
MII_IS_DOWNLINK : hub_mii_config_t := (others => c_YES);
MII_IS_UPLINK_ONLY : hub_mii_config_t := (others => c_NO)
RDO_HEADER_BUFFER_DEPTH : integer range 9 to 14 := 9;
RDO_HEADER_BUFFER_FULL_THRESH : integer range 2**8 to 2**14-2 := 500;
--media interfaces & hub ports
- MII_NUMBER : integer range 2 to c_MAX_MII_PER_HUB := 5;
+ MII_NUMBER : integer range 1 to c_MAX_MII_PER_HUB := 5;
MII_IS_UPLINK : hub_mii_config_t := (0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);
MII_IS_DOWNLINK : hub_mii_config_t := (1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0);
MII_IS_UPLINK_ONLY : hub_mii_config_t := (0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0);