diff options
Diffstat (limited to 'test_rrobin_problem/rtl')
-rw-r--r-- | test_rrobin_problem/rtl/box.vhd | 229 | ||||
-rw-r--r-- | test_rrobin_problem/rtl/led_control_ahb.vhd | 137 | ||||
-rw-r--r-- | test_rrobin_problem/rtl/top.vhd | 535 |
3 files changed, 0 insertions, 901 deletions
diff --git a/test_rrobin_problem/rtl/box.vhd b/test_rrobin_problem/rtl/box.vhd deleted file mode 100644 index c651746..0000000 --- a/test_rrobin_problem/rtl/box.vhd +++ /dev/null @@ -1,229 +0,0 @@ --------------------------------------------------------------------------------- --- $Date$ --- $Author$ --- $Revision$ --------------------------------------------------------------------------------- - -library ieee; -use ieee.std_logic_1164.all; -use ieee.numeric_std.all; - -library gaisler; -use gaisler.misc.all; -- types -use gaisler.uart.all; -- types -use gaisler.net.all; -- types -use gaisler.uart.apbuart; -use gaisler.misc.grgpio; - -library grlib; -use grlib.amba.all; - -library techmap; -use techmap.gencomp.all; -- constants - - -entity box is - generic ( - time_factor : positive := 2500 - ); - port ( - clk : in std_ulogic; - reset_n : in std_ulogic; - -- - uarti : in uart_in_type; - uarto : out uart_out_type; - -- - gpioi : in gpio_in_type; - gpioo : out gpio_out_type - ); -end entity box; - - -architecture rtl of box is - - signal ahbctrl_i0_msti : ahb_mst_in_type; - signal ahbmo : ahb_mst_out_vector := (others => ahbm_none); - signal ahbctrl_i0_slvi : ahb_slv_in_type; - signal ahbso : ahb_slv_out_vector := (others => ahbs_none); - signal apbctrl_i0_apbi : apb_slv_in_type; - signal apbo : apb_slv_out_vector := (others => apb_none); - -- - signal grgpio_i0_gpioo : gpio_out_type; - - -begin - - - --------------------------------------------------------------------- - -- - led_control_ahb_i0: entity work.led_control_ahb - generic map ( - hindex => 0, -- : integer := 0; - count => 20 * time_factor, -- : natural := 0; - gpio_data => x"00000000" -- : std_logic_vector(31 downto 0) - ) - port map ( - -- system - clk => clk, -- : in std_ulogic; - -- ahb - ahbi => ahbctrl_i0_msti, -- : in ahb_mst_in_type; - ahbo => ahbmo(0) -- : out ahb_mst_out_type - ); - --------------------------------------------------------------------- - - - --------------------------------------------------------------------- - -- - led_control_ahb_i1: entity work.led_control_ahb - generic map ( - hindex => 1, -- : integer := 0; - count => 20 * time_factor + 3, -- : natural := 0; - gpio_data => x"0000000f" -- : std_logic_vector(31 downto 0) - ) - port map ( - -- system - clk => clk, -- : in std_ulogic; - -- ahb - ahbi => ahbctrl_i0_msti, -- : in ahb_mst_in_type; - ahbo => ahbmo(1) -- : out ahb_mst_out_type - ); - --------------------------------------------------------------------- - - - --------------------------------------------------------------------- - -- AHB CONTROLLER - - --ahbmo(0) <= (ahbm_none); - --ahbmo(1) <= (ahbm_none); - ahbmo(2) <= (ahbm_none); - ahbmo(3) <= (ahbm_none); - -- - --ahbso(0) <= (ahbs_none); -- apbctrl_i0 - ahbso(1) <= (ahbs_none); - ahbso(2) <= (ahbs_none); - ahbso(3) <= (ahbs_none); - ahbso(4) <= (ahbs_none); -- spimctrl - ahbso(5) <= (ahbs_none); -- mctrl - ahbso(6) <= (ahbs_none); - ahbso(7) <= (ahbs_none); - - ahbctrl_i0 : ahbctrl -- AHB arbiter/multiplexer - generic map ( - defmast => 0, -- default master - -- - -- - rrobin => 0, -- round robin arbitration - -- - -- - timeout => 11, - disirq => 0, -- enable interrupt routing - enbusmon => 0, -- enable bus monitor - assertwarn => 1, -- enable assertions for warnings - asserterr => 1 -- enable assertions for errors - ) - port map ( - rst => reset_n, -- : in std_ulogic; - clk => clk, -- : in std_ulogic; - msti => ahbctrl_i0_msti, -- : out ahb_mst_in_type; - msto => ahbmo, -- : in ahb_mst_out_vector; - slvi => ahbctrl_i0_slvi, -- : out ahb_slv_in_type; - slvo => ahbso, -- : in ahb_slv_out_vector; - testen => '0', - testrst => '1', - scanen => '0', - testoen => '1' - ); - ---------------------------------------------------------------------- - - - - - --------------------------------------------------------------------- - -- AHB/APB bridge - - apbo( 0) <= (apb_none); - --apbo( 1) <= (apb_none); -- apbuart_i0 - apbo( 2) <= (apb_none); -- no gptimer_i0 - apbo( 3) <= (apb_none); - --apbo( 4) <= (apb_none); -- grgpio_i0 - apbo( 5) <= (apb_none); - apbo( 6) <= (apb_none); -- no apbvga_i0 - apbo( 7) <= (apb_none); -- no i2cmst_i0 - apbo( 8) <= (apb_none); - apbo( 9) <= (apb_none); - apbo(10) <= (apb_none); -- no i2cmst_i1 - apbo(11) <= (apb_none); - apbo(12) <= (apb_none); - apbo(13) <= (apb_none); - apbo(14) <= (apb_none); - apbo(15) <= (apb_none); -- no mctrl_i0 - - apbctrl_i0: apbctrl - generic map ( - hindex => 0, -- : integer := 0; - haddr => 16#800#, -- : integer := 0; - nslaves => 16, -- : integer range 1 to NAPBSLV := NAPBSLV; - asserterr => 1, - assertwarn => 1 - ) - port map ( - rst => reset_n, -- : in std_ulogic; - clk => clk, -- : in std_ulogic; - ahbi => ahbctrl_i0_slvi, -- : in ahb_slv_in_type; - ahbo => ahbso(0), -- : out ahb_slv_out_type; - apbi => apbctrl_i0_apbi, -- : out apb_slv_in_type; - apbo => apbo -- : in apb_slv_out_vector - ); - ---------------------------------------------------------------------- - - - --------------------------------------------------------------------- - -- uart - apbuart_i0: apbuart - generic map ( - pindex => 1, - paddr => 1, - console => 1, -- fast simulation output - parity => 0, -- no parity - flow => 1, -- hardware handshake - fifosize => 16 - ) - port map ( - rst => reset_n, -- : in std_ulogic; - clk => clk, -- : in std_ulogic; - apbi => apbctrl_i0_apbi, -- : in apb_slv_in_type; - apbo => apbo(1), -- : out apb_slv_out_type; - uarti => uarti, -- : in uart_in_type; - uarto => uarto -- : out uart_out_type); - ); - --------------------------------------------------------------------- - - - --------------------------------------------------------------------- - -- GPIO - grgpio_i0: grgpio - generic map ( - pindex => 4, - paddr => 4, - syncrst => 1, -- only synchronous reset - nbits => 32 -- number of port bits - ) - port map ( - rst => reset_n, - clk => clk, - apbi => apbctrl_i0_apbi, - apbo => apbo(4), - gpioi => gpioi, - gpioo => grgpio_i0_gpioo - ); - gpioo <= grgpio_i0_gpioo; - -- gpio.dout gpio.din - --------------------------------------------------------------------- - -- 3 - 0 LED gpio_switch - -- 7 - 4 unused gpio_button - -- 15 - 8 header gpio_header_ls - -- 30 - 16 unused - -- 31 unused simulation_active - --------------------------------------------------------------------- - -end architecture rtl; diff --git a/test_rrobin_problem/rtl/led_control_ahb.vhd b/test_rrobin_problem/rtl/led_control_ahb.vhd deleted file mode 100644 index b1105a1..0000000 --- a/test_rrobin_problem/rtl/led_control_ahb.vhd +++ /dev/null @@ -1,137 +0,0 @@ --------------------------------------------------------------------------------- --- $Date$ --- $Author$ --- $Revision$ --------------------------------------------------------------------------------- - -library ieee; -use ieee.std_logic_1164.all; - -library grlib; -use grlib.amba.all; -use grlib.stdlib.all; -use grlib.devices.all; - -library hzdr; -use hzdr.devices_hzdr.all; - - -entity led_control_ahb is - generic( - hindex : integer := 0; - count : natural := 0; - gpio_data : std_logic_vector(31 downto 0) - ); - port ( - -- system - clk : in std_ulogic; - -- ahb - ahbi : in ahb_mst_in_type; - ahbo : out ahb_mst_out_type - ); -end entity led_control_ahb; - - -architecture rtl of led_control_ahb is - - constant revision_c : integer := 0; - constant hconfig_c : ahb_config_type := ( - 0 => ahb_device_reg ( VENDOR_HZDR, 255, 0, revision_c, 0), - others => (others => '0') - ); - - constant gpio_addr_c : std_ulogic_vector(31 downto 0) := x"80000404"; - - constant default_ahb_mst_out_c : ahb_mst_out_type := ( - hbusreq => '0', - hlock => '0', - htrans => HTRANS_IDLE, - haddr => (others => '0'), - hwrite => '0', - hsize => HSIZE_WORD, - hburst => HBURST_SINGLE, - hprot => "0001", - hwdata => (others => '0'), - hirq => (others => '0'), - hconfig => hconfig_c, - hindex => hindex - ); - - type state_t is (IDLE, ADDR_PHASE, DATA_PHASE); - - type reg_t is record - state : state_t; - counter : natural; - ahbo : ahb_mst_out_type; - end record; - constant default_reg_c : reg_t := ( - state => IDLE, - counter => 0, - ahbo => default_ahb_mst_out_c - ); - - signal r : reg_t := default_reg_c; - signal r_in : reg_t; - -begin - - comb: process(r, ahbi) - variable v : reg_t; - begin - ahbo <= r.ahbo; - v := r; - - case v.state is - when IDLE => - -- have reach right time? - if v.counter < count then - v.counter := v.counter + 1; - else - -- bus write request - v.ahbo.hbusreq := '1'; - v.ahbo.htrans := HTRANS_NONSEQ; - v.ahbo.haddr := std_logic_vector( gpio_addr_c); - v.ahbo.hwrite := '1'; - -- have grant? - if ahbi.hgrant( hindex) = '1' then - v.state := ADDR_PHASE; - end if; - end if; - - when ADDR_PHASE => - v.ahbo.hbusreq := '0'; - v.ahbo.htrans := HTRANS_IDLE; - v.ahbo.haddr := (others => '0'); - v.ahbo.hwrite := '0'; - v.ahbo.hwdata := gpio_data; - v.state := DATA_PHASE; - - - when DATA_PHASE => - v.ahbo.hwdata := (others => '0'); - v.counter := 0; - v.state := IDLE; - - end case; - - r_in <= v; - end process comb; - - - seq: process - begin - wait until rising_edge( clk); - r <= r_in; - end process seq; - - - -- pragma translate_off - bootmsg : report_version - generic map ( - "led_control_ahb" & tost( hindex) & ": rev " & tost( revision_c) & ", gpio_data: " & tost( gpio_data) - ); - -- pragma translate_on - - -end architecture rtl; - diff --git a/test_rrobin_problem/rtl/top.vhd b/test_rrobin_problem/rtl/top.vhd deleted file mode 100644 index 16a6fa8..0000000 --- a/test_rrobin_problem/rtl/top.vhd +++ /dev/null @@ -1,535 +0,0 @@ --- top level des beam position monitor --- für SP601 --- --- enthält alle buffer/treiber für die FPGA-Pins --- --- - --------------------------------------------------------------------------------- --- $Date$ --- $Author$ --- $Revision$ --------------------------------------------------------------------------------- - - - -library ieee; -use ieee.std_logic_1164.all; - -library unisim; -use unisim.vcomponents.bufg; -use unisim.vcomponents.iddr2; -use unisim.vcomponents.ibufgds_diff_out; -use unisim.vcomponents.ibufgds; -use unisim.vcomponents.ibufds; -use unisim.vcomponents.dcm_sp; -use unisim.vcomponents.bufgmux; - - -entity top is - generic ( - time_factor : positive := 2500 - ); - port ( - cpu_reset : in std_logic; -- SW9 pushbutton (active-high) - -- - -- DDR2 memory 128 MB - ddr2_a : out std_logic_vector(12 downto 0); - ddr2_ba : out std_logic_vector(2 downto 0); - ddr2_cas_b : out std_logic; - ddr2_ras_b : out std_logic; - ddr2_we_b : out std_logic; - ddr2_cke : out std_logic; - ddr2_clk_n : out std_logic; - ddr2_clk_p : out std_logic; - ddr2_dq : inout std_logic_vector(15 downto 0); - ddr2_ldm : out std_logic; - ddr2_udm : out std_logic; - ddr2_ldqs_n : inout std_logic; - ddr2_ldqs_p : inout std_logic; - ddr2_udqs_n : inout std_logic; - ddr2_udqs_p : inout std_logic; - ddr2_odt : out std_logic; - -- - -- flash memory - flash_a : out std_logic_vector(24 downto 0); - flash_d : inout std_logic_vector(7 downto 3); - -- - fpga_d0_din_miso_miso1 : inout std_logic; -- dual use - fpga_d1_miso2 : inout std_logic; -- dual use - fpga_d2_miso3 : inout std_logic; -- dual use - flash_we_b : out std_logic; - flash_oe_b : out std_logic; - flash_ce_b : out std_logic; - -- - -- FCM connector - -- M2C Mezzanine to Carrier - -- C2M Carrier to Mezzanine - fmc_clk0_m2c_n : in std_logic; - fmc_clk0_m2c_p : in std_logic; - fmc_clk1_m2c_n : in std_logic; - fmc_clk1_m2c_p : in std_logic; - -- IIC addresses: - -- M24C08: 1010100..1010111 - -- 2kb EEPROM on FMC card: 1010010 - iic_scl_main : inout std_logic; - iic_sda_main : inout std_logic; - fmc_la00_cc_n : inout std_logic; - fmc_la00_cc_p : inout std_logic; - fmc_la01_cc_n : inout std_logic; - fmc_la01_cc_p : inout std_logic; - fmc_la02_n : inout std_logic; - fmc_la02_p : inout std_logic; - fmc_la03_n : inout std_logic; - fmc_la03_p : inout std_logic; - fmc_la04_n : inout std_logic; - fmc_la04_p : inout std_logic; - fmc_la05_n : inout std_logic; - fmc_la05_p : inout std_logic; - fmc_la06_n : inout std_logic; - fmc_la06_p : inout std_logic; - fmc_la07_n : inout std_logic; - fmc_la07_p : inout std_logic; - fmc_la08_n : inout std_logic; - fmc_la08_p : inout std_logic; - fmc_la09_n : inout std_logic; - fmc_la09_p : inout std_logic; - fmc_la10_n : inout std_logic; - fmc_la10_p : inout std_logic; - fmc_la11_n : inout std_logic; - fmc_la11_p : inout std_logic; - fmc_la12_n : inout std_logic; - fmc_la12_p : inout std_logic; - fmc_la13_n : inout std_logic; - fmc_la13_p : inout std_logic; - fmc_la14_n : inout std_logic; - fmc_la14_p : inout std_logic; - fmc_la15_n : inout std_logic; - fmc_la15_p : inout std_logic; - fmc_la16_n : inout std_logic; - fmc_la16_p : inout std_logic; - fmc_la17_cc_n : inout std_logic; - fmc_la17_cc_p : inout std_logic; - fmc_la18_cc_n : inout std_logic; - fmc_la18_cc_p : inout std_logic; - fmc_la19_n : inout std_logic; - fmc_la19_p : inout std_logic; - fmc_la20_n : inout std_logic; - fmc_la20_p : inout std_logic; - fmc_la21_n : inout std_logic; - fmc_la21_p : inout std_logic; - fmc_la22_n : inout std_logic; - fmc_la22_p : inout std_logic; - fmc_la23_n : inout std_logic; - fmc_la23_p : inout std_logic; - fmc_la24_n : inout std_logic; - fmc_la24_p : inout std_logic; - fmc_la25_n : inout std_logic; - fmc_la25_p : inout std_logic; - fmc_la26_n : inout std_logic; - fmc_la26_p : inout std_logic; - fmc_la27_n : inout std_logic; - fmc_la27_p : inout std_logic; - fmc_la28_n : inout std_logic; - fmc_la28_p : inout std_logic; - fmc_la29_n : inout std_logic; - fmc_la29_p : inout std_logic; - fmc_la30_n : inout std_logic; - fmc_la30_p : inout std_logic; - fmc_la31_n : inout std_logic; - fmc_la31_p : inout std_logic; - fmc_la32_n : inout std_logic; - fmc_la32_p : inout std_logic; - fmc_la33_n : inout std_logic; - fmc_la33_p : inout std_logic; - fmc_prsnt_m2c_l : in std_logic; - fmc_pwr_good_flash_rst_b : out std_logic; -- multiple destinations: 1 of Q2 (LED DS1 driver), U1 AB2 FPGA_PROG (through series R260 DNP), 44 of U25 - -- - -- ??? - fpga_awake : out std_logic; - fpga_cclk : out std_logic; - fpga_cmp_clk : in std_logic; - fpga_cmp_cs_b : in std_logic; - fpga_cmp_mosi : in std_logic; - -- - fpga_hswapen : in std_logic; - fpga_init_b : out std_logic; -- low active - fpga_m0_cmp_miso : in std_logic; -- mode DIP switch SW1 active high - fpga_m1 : in std_logic; -- mode DIP switch SW1 active high - fpga_mosi_csi_b_miso0 : inout std_logic; - fpga_onchip_term1 : inout std_logic; - fpga_onchip_term2 : inout std_logic; - --fpga_suspend : in std_logic; - fpga_vtemp : in std_logic; - -- - -- GPIOs - gpio_button : in std_logic_vector(3 downto 0); -- active high - gpio_header_ls : inout std_logic_vector(7 downto 0); -- - gpio_led : out std_logic_vector(3 downto 0); - gpio_switch : in std_logic_vector(3 downto 0); -- active high - -- - -- Ethernet Gigabit PHY, - -- default settings: - -- phy address = 0b00111 - -- ANEG[3..0] = "1111" - -- ENA_XC = 1 - -- DIS_125 = 1 - -- HWCFG_MD[3..0] = "1111" - -- DIS_FC = 1 - -- DIS_SLEEP = 1 - -- SEL_BDT = 0 - -- INT_POL = 1 - -- 75/50Ohm = 0 - phy_col : in std_logic; - phy_crs : in std_logic; - phy_int : out std_logic; - phy_mdc : out std_logic; - phy_mdio : inout std_logic; - phy_reset : out std_logic; - phy_rxclk : in std_logic; - phy_rxctl_rxdv : in std_logic; - phy_rxd : in std_logic_vector(7 downto 0); - phy_rxer : in std_logic; - phy_txclk : in std_logic; - phy_txctl_txen : out std_logic; - phy_txc_gtxclk : out std_logic; - phy_txd : out std_logic_vector(7 downto 0); - phy_txer : out std_logic; - -- - -- - spi_cs_b : out std_logic; - -- - -- 200 MHz oscillator, jitter 50 ppm - sysclk_n : in std_logic; - sysclk_p : in std_logic; - -- - -- RS232 via USB - usb_1_cts : out std_logic; -- function: RTS output - usb_1_rts : in std_logic; -- function: CTS input - usb_1_rx : out std_logic; -- function: TX data out - usb_1_tx : in std_logic; -- function: RX data in - -- - -- 27 MHz, oscillator socket - user_clock : in std_logic; - -- - -- user clock provided per SMA - user_sma_clock_p : inout std_logic; - user_sma_clock_n : inout std_logic - ); -end entity top; - - - - -library gaisler; -use gaisler.misc.all; -- types -use gaisler.uart.all; -- types - - -architecture rtl of top is - - constant system_frequency_c : natural := 200_000_000; - - function simulation_active return std_ulogic is - variable result : std_ulogic; - begin - result := '0'; - -- pragma translate_off - result := '1'; - -- pragma translate_on - return result; - end function simulation_active; - - -- - -- signal definitions to resolve inout signals - -- - signal sys_clk : std_ulogic; - signal clk_box : std_ulogic; - -- - signal reset_shreg : std_ulogic_vector(3 downto 0) := (others => '1'); - signal reset : std_ulogic := '1'; - signal reset_n : std_ulogic := '0'; - -- - signal uarti : uart_in_type; - signal gpioi : gpio_in_type; - -- - signal box_i0_uarto : uart_out_type; - signal box_i0_gpioo : gpio_out_type; - - -begin - - - ------------------------------------------------------------ - -- clock stuff - -- - clk_driver_b : block - signal clk_fb0 : std_ulogic; - signal dcm_sp_i0_clk0 : std_ulogic; - signal dcm_sp_i0_clkfx : std_ulogic; - signal dcm_sp_i0_clkdv : std_ulogic; - signal dcm_sp_i0_clkdv_n : std_ulogic; - signal clk_fb1 : std_ulogic; - signal dcm_sp_i1_clk0 : std_ulogic; - signal dcm_sp_i1_clk180 : std_ulogic; - signal dcm_sp_i1_locked : std_ulogic; - signal dcm_sp_i1_status : std_logic_vector(7 downto 0); - begin - - -- global differential input buffer - ibufgds_i0 : ibufgds - generic map ( - diff_term => true - ) - port map ( - i => sysclk_p, - ib => sysclk_n, - o => sys_clk - ); - - -- DCM - dcm_sp_i0: dcm_sp - generic map ( - clkin_divide_by_2 => false, - clkdv_divide => 4.0, - clkfx_multiply => 13, - clkfx_divide => 25, - clk_feedback => "1x" - ) - port map ( - clkin => sys_clk, - clk0 => dcm_sp_i0_clk0, - clkdv => dcm_sp_i0_clkdv, - clkfx => dcm_sp_i0_clkfx, - clkfb => clk_fb0 - ); - - clk_fb0 <= dcm_sp_i0_clk0; - --clk_box <= dcm_sp_i0_clkfx; -- 52 MHz - clk_box <= dcm_sp_i0_clk0; -- 200 MHz - - end block; - - - ------------------------------------------------------------ - -- reset generation - reset_generator_p: process - begin - wait until rising_edge( clk_box); - reset_shreg <= reset_shreg(reset_shreg'left-1 downto 0) & '0'; - reset <= reset_shreg(reset_shreg'left); - if cpu_reset = '1' then - reset_shreg <= (others => '1'); - end if; - end process; - reset_n <= not reset; - - - - --- chipscope_i0 : chipscope --- port map ( --- clk => adc_clk_buf, --: in std_ulogic; --- data => adc_data_16bit, --: in std_ulogic_vector(15 downto 0); --- trig => '1' --: in std_ulogic --- ); - - - -- default output drivers - -- - fmc_la00_cc_n <= 'Z'; - fmc_la00_cc_p <= 'Z'; - fmc_la01_cc_n <= 'Z'; - fmc_la01_cc_p <= 'Z'; - fmc_la02_n <= 'Z'; - fmc_la02_p <= 'Z'; - fmc_la03_n <= 'Z'; - fmc_la03_p <= 'Z'; - fmc_la04_n <= 'Z'; - fmc_la04_p <= 'Z'; - fmc_la05_n <= 'Z'; - fmc_la05_p <= 'Z'; - fmc_la06_n <= 'Z'; - fmc_la06_p <= 'Z'; - fmc_la07_n <= 'Z'; - fmc_la07_p <= 'Z'; - fmc_la08_n <= 'Z'; - fmc_la08_p <= 'Z'; - fmc_la09_n <= 'Z'; - fmc_la09_p <= 'Z'; - fmc_la10_n <= 'Z'; - fmc_la10_p <= 'Z'; - fmc_la11_n <= 'Z'; - fmc_la11_p <= 'Z'; - fmc_la12_n <= 'Z'; - fmc_la12_p <= 'Z'; - fmc_la13_n <= 'Z'; - fmc_la13_p <= 'Z'; - fmc_la14_n <= 'Z'; - fmc_la14_p <= 'Z'; - fmc_la15_n <= 'Z'; - fmc_la15_p <= 'Z'; - fmc_la16_n <= 'Z'; - fmc_la16_p <= 'Z'; - fmc_la17_cc_n <= 'Z'; - fmc_la17_cc_p <= 'Z'; - fmc_la18_cc_n <= 'Z'; - fmc_la18_cc_p <= 'Z'; - fmc_la19_n <= 'Z'; - fmc_la19_p <= 'Z'; - fmc_la20_n <= 'Z'; - fmc_la20_p <= 'Z'; - fmc_la21_n <= 'Z'; - fmc_la21_p <= 'Z'; - fmc_la22_n <= 'Z'; - fmc_la22_p <= 'Z'; - fmc_la23_n <= 'Z'; - fmc_la23_p <= 'Z'; - fmc_la24_n <= 'Z'; - fmc_la24_p <= 'Z'; - fmc_la25_n <= 'Z'; - fmc_la25_p <= 'Z'; - fmc_la26_n <= 'Z'; - fmc_la26_p <= 'Z'; - fmc_la27_n <= 'Z'; - fmc_la27_p <= 'Z'; - fmc_la28_n <= 'Z'; - fmc_la28_p <= 'Z'; - fmc_la29_n <= 'Z'; - fmc_la29_p <= 'Z'; - fmc_la30_n <= 'Z'; - fmc_la30_p <= 'Z'; - fmc_la31_n <= 'Z'; - fmc_la31_p <= 'Z'; - fmc_la32_n <= 'Z'; - fmc_la32_p <= 'Z'; - fmc_la33_n <= 'Z'; - fmc_la33_p <= 'Z'; - fpga_awake <= 'Z'; - fpga_init_b <= '1'; - fpga_onchip_term1 <= 'Z'; - fpga_onchip_term2 <= 'Z'; - -- - ddr2_a <= (others => '1'); - ddr2_ba <= (others => '1'); - ddr2_cas_b <= '1'; - ddr2_ras_b <= '1'; - ddr2_we_b <= '1'; - ddr2_cke <= '0'; - ddr2_clk_n <= '0'; - ddr2_clk_p <= '1'; - ddr2_dq <= (others => 'Z'); - ddr2_ldm <= '0'; - ddr2_udm <= '0'; - ddr2_ldqs_n <= 'Z'; - ddr2_ldqs_p <= 'Z'; - ddr2_udqs_n <= 'Z'; - ddr2_udqs_p <= 'Z'; - ddr2_odt <= '1'; - -- - phy_int <= 'Z'; - phy_mdc <= '0'; - phy_mdio <= 'Z'; - phy_reset <= '0'; - phy_txc_gtxclk <= '0'; - phy_txctl_txen <= '0'; - phy_txd <= (others => '1'); - phy_txer <= '0'; - -- - user_sma_clock_p <= 'Z'; - user_sma_clock_n <= 'Z'; - - - - - ------------------------------------------------------------ - -- SPI memory pads - -- SPI X4 (Winbond W25Q64VSFIG) 64-Mbit flash memory - fpga_d2_miso3 <= 'Z'; -- /hold - fpga_d1_miso2 <= 'Z'; -- /write_protect - fpga_cclk <= '0'; - fpga_mosi_csi_b_miso0 <= 'Z'; - spi_cs_b <= 'Z'; - - - ------------------------------------------------------------ - -- BPI parallel flash - - -- inout - fpga_d0_din_miso_miso1 <= 'Z'; - fpga_d1_miso2 <= 'Z'; - fpga_d2_miso3 <= 'Z'; - flash_d(7 downto 3) <= "ZZZZZ"; - -- out - fmc_pwr_good_flash_rst_b <= reset_n; - flash_ce_b <= '1'; - flash_oe_b <= '1'; - flash_we_b <= '1'; - - flash_a <= (others => 'Z'); - - - - ------------------------------------------------------------ - -- gpio input pads - gpioi.sig_in <= (others => '0'); - gpioi.sig_en <= (others => '0'); - gpioi.din( 3 downto 0) <= std_logic_vector( gpio_switch); - gpioi.din( 7 downto 4) <= gpio_button; - gpioi.din(15 downto 8) <= gpio_header_ls; - gpioi.din(30 downto 16) <= (others => '0'); - gpioi.din(31) <= simulation_active; - - - ------------------------------------------------------------ - -- uart input - uarti.rxd <= usb_1_tx; -- function: RX data in - uarti.ctsn <= usb_1_rts; -- not( usb_1_rts); function: CTS input - uarti.extclk <= '0'; - - ------------------------------------------------------------ - -- box system - box_i0: entity work.box - generic map ( - time_factor => time_factor --: positive - ) - port map ( - clk => clk_box, --: in std_ulogic; - reset_n => reset_n, --: in std_ulogic; - -- - uarti => uarti, --: in uart_in_type; - uarto => box_i0_uarto, --: out uart_out_type; - -- - gpioi => gpioi, --: in gpio_in_type; - gpioo => box_i0_gpioo --: out gpio_out_type; - ); - - ------------------------------------------------------------ - -- gpio output pads - -- placement on board: LED0, LED1, LED2, LED3 - gpio_led <= box_i0_gpioo.dout( 3 downto 0); - --gpio_header_ls <= box_i0_gpioo.dout(15 downto 8); - gpio_header_ls(0) <= box_i0_gpioo.dout( 8) when box_i0_gpioo.oen( 8) = '0' else 'Z'; - gpio_header_ls(1) <= box_i0_gpioo.dout( 9) when box_i0_gpioo.oen( 9) = '0' else 'Z'; - gpio_header_ls(2) <= box_i0_gpioo.dout(10) when box_i0_gpioo.oen(10) = '0' else 'Z'; - gpio_header_ls(3) <= box_i0_gpioo.dout(11) when box_i0_gpioo.oen(11) = '0' else 'Z'; - gpio_header_ls(4) <= box_i0_gpioo.dout(12) when box_i0_gpioo.oen(12) = '0' else 'Z'; - gpio_header_ls(5) <= box_i0_gpioo.dout(13) when box_i0_gpioo.oen(13) = '0' else 'Z'; - gpio_header_ls(6) <= box_i0_gpioo.dout(14) when box_i0_gpioo.oen(14) = '0' else 'Z'; - gpio_header_ls(7) <= box_i0_gpioo.dout(15) when box_i0_gpioo.oen(15) = '0' else 'Z'; - fpga_awake <= not box_i0_gpioo.dout( 0); - - - ------------------------------------------------------------ - -- uart output - usb_1_rx <= box_i0_uarto.txd; -- function: TX data out - usb_1_cts <= box_i0_uarto.rtsn; -- function: RTS - - - ------------------------------------------------------------ - -- fmc/main i2c io pads - iic_scl_main <= 'Z'; - - iic_sda_main <= 'Z'; - -end architecture rtl; |