OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [rtl/] [core/] [neorv32_top.vhd] - Diff between revs 68 and 69

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 68 Rev 69
Line 338... Line 338...
 
 
  -- misc --
  -- misc --
  signal mtime_time  : std_ulogic_vector(63 downto 0); -- current system time from MTIME
  signal mtime_time  : std_ulogic_vector(63 downto 0); -- current system time from MTIME
  signal ext_timeout : std_ulogic;
  signal ext_timeout : std_ulogic;
  signal ext_access  : std_ulogic;
  signal ext_access  : std_ulogic;
 
  signal debug_mode  : std_ulogic;
 
 
begin
begin
 
 
  -- Processor IO/Peripherals Configuration -------------------------------------------------
  -- Processor IO/Peripherals Configuration -------------------------------------------------
  -- -------------------------------------------------------------------------------------------
  -- -------------------------------------------------------------------------------------------
Line 490... Line 491...
  port map (
  port map (
    -- global control --
    -- global control --
    clk_i          => clk_i,        -- global clock, rising edge
    clk_i          => clk_i,        -- global clock, rising edge
    rstn_i         => sys_rstn,     -- global reset, low-active, async
    rstn_i         => sys_rstn,     -- global reset, low-active, async
    sleep_o        => open,         -- cpu is in sleep mode when set
    sleep_o        => open,         -- cpu is in sleep mode when set
 
    debug_o        => debug_mode,   -- cpu is in debug mode when set
    -- instruction bus interface --
    -- instruction bus interface --
    i_bus_addr_o   => cpu_i.addr,   -- bus access address
    i_bus_addr_o   => cpu_i.addr,   -- bus access address
    i_bus_rdata_i  => cpu_i.rdata,  -- bus read data
    i_bus_rdata_i  => cpu_i.rdata,  -- bus read data
    i_bus_wdata_o  => cpu_i.wdata,  -- bus write data
    i_bus_wdata_o  => cpu_i.wdata,  -- bus write data
    i_bus_ben_o    => cpu_i.ben,    -- byte enable
    i_bus_ben_o    => cpu_i.ben,    -- byte enable
Line 535... Line 537...
  -- advanced memory control --
  -- advanced memory control --
  fence_o  <= cpu_d.fence; -- indicates an executed FENCE operation
  fence_o  <= cpu_d.fence; -- indicates an executed FENCE operation
  fencei_o <= cpu_i.fence; -- indicates an executed FENCEI operation
  fencei_o <= cpu_i.fence; -- indicates an executed FENCEI operation
 
 
  -- fast interrupt requests (FIRQs) --
  -- fast interrupt requests (FIRQs) --
  -- these stay asserted until explicitly acknowledged --
  -- these signals are single-shot --
  fast_irq(00) <= wdt_irq;       -- HIGHEST PRIORITY - watchdog
  fast_irq(00) <= wdt_irq;       -- HIGHEST PRIORITY - watchdog
  fast_irq(01) <= cfs_irq;       -- custom functions subsystem
  fast_irq(01) <= cfs_irq;       -- custom functions subsystem
  fast_irq(02) <= uart0_rxd_irq; -- primary UART (UART0) RX
  fast_irq(02) <= uart0_rxd_irq; -- primary UART (UART0) RX
  fast_irq(03) <= uart0_txd_irq; -- primary UART (UART0) TX
  fast_irq(03) <= uart0_txd_irq; -- primary UART (UART0) TX
  fast_irq(04) <= uart1_rxd_irq; -- secondary UART (UART1) RX
  fast_irq(04) <= uart1_rxd_irq; -- secondary UART (UART1) RX
Line 935... Line 937...
  -- Watch Dog Timer (WDT) ------------------------------------------------------------------
  -- Watch Dog Timer (WDT) ------------------------------------------------------------------
  -- -------------------------------------------------------------------------------------------
  -- -------------------------------------------------------------------------------------------
  neorv32_wdt_inst_true:
  neorv32_wdt_inst_true:
  if (IO_WDT_EN = true) generate
  if (IO_WDT_EN = true) generate
    neorv32_wdt_inst: neorv32_wdt
    neorv32_wdt_inst: neorv32_wdt
 
    generic map(
 
      DEBUG_EN => ON_CHIP_DEBUGGER_EN -- CPU debug mode implemented?
 
    )
    port map (
    port map (
      -- host access --
      -- host access --
      clk_i       => clk_i,                    -- global clock line
      clk_i       => clk_i,                    -- global clock line
      rstn_i      => ext_rstn,                 -- global reset line, low-active
      rstn_i      => ext_rstn,                 -- global reset line, low-active
      rden_i      => io_rden,                  -- read enable
      rden_i      => io_rden,                  -- read enable
      wren_i      => io_wren,                  -- write enable
      wren_i      => io_wren,                  -- write enable
      addr_i      => p_bus.addr,               -- address
      addr_i      => p_bus.addr,               -- address
      data_i      => p_bus.wdata,              -- data in
      data_i      => p_bus.wdata,              -- data in
      data_o      => resp_bus(RESP_WDT).rdata, -- data out
      data_o      => resp_bus(RESP_WDT).rdata, -- data out
      ack_o       => resp_bus(RESP_WDT).ack,   -- transfer acknowledge
      ack_o       => resp_bus(RESP_WDT).ack,   -- transfer acknowledge
 
      -- CPU in debug mode? --
 
      cpu_debug_i => debug_mode,
      -- clock generator --
      -- clock generator --
      clkgen_en_o => wdt_cg_en,                -- enable clock generator
      clkgen_en_o => wdt_cg_en,                -- enable clock generator
      clkgen_i    => clk_gen,
      clkgen_i    => clk_gen,
      -- timeout event --
      -- timeout event --
      irq_o       => wdt_irq,                  -- timeout IRQ
      irq_o       => wdt_irq,                  -- timeout IRQ

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.