35use ieee.std_logic_1164.
all;
36use ieee.numeric_std.
all;
62 MONI : out serport_moni_type;
103 end record syns_type;
152 report "assert(CDWIDTH<=16): max width of UART clock divider"
197 ENAXON => R_SYNS.enaxon_s,
198 ENAESC => R_SYNS.enaesc_s,
212 ENAXON => R_SYNS.enaxon_s,
213 ENAESC => R_SYNS.enaesc_s,
224 RXFIFO :
fifo_2c_dram -- input fifo,
2 clock, dram based
243 TXFIFO :
fifo_2c_dram -- output fifo,
2 clock, dram based
266 constant rxsize_rxok_off
: slv2 := "01";
267 constant rxsize_rxok_on
: slv2 := "10";
268 variable rxsize_msb : slv2 := "00";
270 if rising_edge(CLKS) then
275 if unsigned(rxsize_msb) < unsigned(rxsize_rxok_off) then
277 elsif unsigned(RXSIZE_MSB) >= unsigned(rxsize_rxok_on) then
282 end process proc_rxok;
296 end process proc_cts;
300 if rising_edge(CLKU) then
314 end process proc_synu;
318 if rising_edge(CLKS) then
324 end process proc_syns;
374 proc_abclkdiv:
process (
R_SYNU.abclkdiv_s)
376 MONI.abclkdiv <= (others=>'0');
378 end process proc_abclkdiv;
384 if rising_edge(CLKS) then
386 report "serport_2clock-W: RXOVR = " & slbit'image(RXOVR) &
387 "; data loss in receive fifo"
390 report "serport_2clock-W: RXERR = " & slbit'image(RXERR) &
391 "; spurious receive error"
394 end process proc_check;
BUSY_WACK boolean := false
POUT_SINGLE boolean := false
slv8 :=( others => '0') UART_TXDATA
synu_type :=( '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', slv( to_unsigned( 0, CDWIDTH) ), slv( to_unsigned( 0, CDWIDTH) )) synu_init
slv( RXFAWIDTH- 1 downto 0) :=( others => '0') RXFIFO_SIZEW
synu_type := synu_init R_SYNU
syns_type :=( '0', '0', '0', '0') syns_init
slv8 :=( others => '0') TXFIFO_DO
slbit := '0' XONTX_TXBUSY
syns_type := syns_init R_SYNS
slv8 :=( others => '0') UART_RXDATA
slv( CDWIDTH- 1 downto 0) :=( others => '0') ABCLKDIV
slv8 :=( others => '0') RXFIFO_DI
out MONI serport_moni_type
std_logic_vector( 7 downto 0) slv8
std_logic_vector( 1 downto 0) slv2