);
end component;
+ component omsp_quadcount is
+ port (
+ mclk : in std_logic;
+ per_addr : in std_logic_vector (7 downto 0);
+ per_din : in std_logic_vector (15 downto 0); -- unused
+ per_en : in std_logic;
+ per_wen : in std_logic_vector (1 downto 0); -- unused
+ puc : in std_logic; -- unused
+ per_irq_acc : in std_logic; -- unused
+ per_irq : out std_logic; -- unused
+ per_dout : out std_logic_vector (15 downto 0);
+
+ qcount : in std_logic_vector (31 downto 0)
+ );
+ end component;
+
signal mclk : std_logic;
signal puc : std_logic;
signal gpio_per_dout : std_logic_vector (15 downto 0);
signal timerA_per_dout : std_logic_vector (15 downto 0);
+ signal omsp_quadcount_dout : std_logic_vector (15 downto 0);
+
+ signal irq_ta0 : std_logic;
+ signal irq_ta1 : std_logic;
--------------------------------------------------------------------------------
dmem_cen => dmem_cen,
dmem_din => dmem_din,
dmem_wen => dmem_wen,
- irq_acc => open,
+ irq_acc => irq_acc,
mclk => mclk,
per_addr => per_addr,
per_din => per_din,
dbg_uart_rxd => '0',
dco_clk => CLK_24MHz,
dmem_dout => dmem_dout,
- irq => (others => '0'),
+ irq => irq,
lfxt_clk => '0',
nmi => '0',
per_dout => per_dout,
);
omsp_timerA_0 : omsp_timerA port map (
- irq_ta0 => open,
- irq_ta1 => open,
+ irq_ta0 => irq_ta0,
+ irq_ta1 => irq_ta1,
per_dout => timerA_per_dout,
ta_out0 => open,
ta_out0_en => open,
aclk_en => aclk_en,
dbg_freeze => '0',
inclk => '0',
- irq_ta0_acc => '0',
+ irq_ta0_acc => irq_acc (9),
mclk => mclk,
per_addr => per_addr,
per_din => per_din,
puc => puc,
smclk_en => smclk_en,
ta_cci0a => '0',
- ta_cci0b => '0',
+ ta_cci0b => TXD,
ta_cci1a => '0',
ta_cci1b => '0',
ta_cci2a => '0',
taclk => '0'
);
+ omsp_quadcount_0 : omsp_quadcount port map (
+ mclk => mclk,
+ per_addr => per_addr,
+ per_din => (others => '0'),
+ per_en => per_en,
+ per_wen => "00",
+ puc => '0',
+ per_irq_acc => '0',
+ per_irq => open,
+ per_dout => omsp_quadcount_dout,
+
+ qcount => X"0001E240" -- 123456
+ );
+
--------------------------------------------------------------------------------
- per_dout <= gpio_per_dout or timerA_per_dout;
+ per_dout <= gpio_per_dout or timerA_per_dout or omsp_quadcount_dout;
+
+ irq <= (9 => irq_ta0,
+ 8 => irq_ta1,
+ others => '0');
end rtl;