parser.vhd \
scanner.vhd \
sp_ram.vhd \
+ uart_rx.vhd \
+ uart_tx.vhd \
textmode_vga/console_sm.vhd \
textmode_vga/console_sm_beh.vhd \
textmode_vga/console_sm_sync.vhd \
ps2/ps2_keyboard_controller_pkg.vhd \
ps2/ps2_transceiver.vhd \
ps2/ps2_transceiver_beh.vhd \
- ps2/ps2_transceiver_pkg.vhd
+ ps2/ps2_transceiver_pkg.vhd \
+ debouncing/counter.vhd \
+ debouncing/counter_beh.vhd \
+ debouncing/debounce.vhd \
+ debouncing/debounce_fsm.vhd \
+ debouncing/debounce_fsm_beh.vhd \
+ debouncing/debounce_pkg.vhd \
+ debouncing/debounce_struct.vhd \
+ debouncing/event_counter.vhd \
+ debouncing/event_counter_beh.vhd \
+ debouncing/event_counter_pkg.vhd \
+ debouncing/sync.vhd \
+ debouncing/sync_beh.vhd \
+ debouncing/sync_pkg.vhd
PROJ_VHDL := $(foreach n,$(PROJ_VHDL),$(VHDL_DIR)/$(n))
#NET "ROT_B" LOC = "G18" | IOSTANDARD = LVTTL | PULLUP ;
#NET "ROT_CENTER" LOC = "V16" | IOSTANDARD = LVTTL | PULLDOWN ;
# ==== RS-232 Serial Ports (RS232) ====
-#NET "RS232_DCE_RXD" LOC = "F8" | IOSTANDARD = LVTTL ;
-#NET "RS232_DCE_TXD" LOC = "E8" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW ;
+#NET "rxd" LOC = "E8" | IOSTANDARD = LVTTL ;
+NET "txd" LOC = "F8" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW ;
#NET "RS232_DTE_RXD" LOC = "U8" | IOSTANDARD = LVTTL ;
#NET "RS232_DTE_TXD" LOC = "M13" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW ;
# ==== DDR SDRAM (SD) ==== (I/O Bank 3, VCCO=2.5V)
end entity beh_loopback_tb;
architecture sim of beh_loopback_tb is
- constant CLK_FREQ : integer := 33000000;
+ constant CLK_FREQ : integer := 50000000;
constant BAUDRATE : integer := 115200;
constant BAUD : integer := CLK_FREQ/BAUDRATE;
use work.textmode_vga_pkg.all;
use work.textmode_vga_platform_dependent_pkg.all;
use work.ps2_keyboard_controller_pkg.all;
+use work.sync_pkg.all;
entity calc is
port (
-- btnA
-- TODO: pins
-- rs232
- -- TODO: pins
+ --rxd : in std_logic;
+ txd : out std_logic;
-- vga
vsync_n : out std_logic;
hsync_n : out std_logic;
signal p_finished : std_logic;
-- parser/scanner
signal do_it, finished : std_logic;
+ -- rs232
+ --signal rx_new, rxd_sync : std_logic;
+ --signal rx_data : std_logic_vector (7 downto 0);
+ signal tx_new, tx_done : std_logic;
+ signal tx_data : std_logic_vector (7 downto 0);
begin
led0 <= '0';
led1 <= '1';
s_backspace => s_backspace,
-- parser
do_it => do_it,
- finished => finished
+ finished => finished,
+ -- test: uart_tx
+ tx_data => tx_data,
+ tx_new => tx_new
);
-- ps/2
ps2_clk => ps2_clk,
ps2_data => ps2_data
);
+
+ -- synchronizer fuer rxd
+ --sync_rxd_inst : entity work.sync(beh)
+ --generic map (
+ -- SYNC_STAGES => 2,
+ -- RESET_VALUE => '1'
+-- )
+ --port map (
+ -- sys_clk => CLK_50MHZ,
+ -- sys_res_n => sys_res_n,
+ -- data_in => rxd,
+ -- data_out => rxd_sync
+ --);
+
+ -- rs232-rx
+ --rs232rx_inst : entity work.uart_rx(beh)
+ --generic map (
+ -- CLK_FREQ => 50000000,
+ -- BAUDRATE => 115200
+ --)
+ --port map (
+ -- sys_clk => CLK_50MHZ,
+ -- sys_res_n => sys_res_n,
+ -- rxd => rxd_sync,
+ -- rx_data => rx_data,
+ -- rx_new => rx_new
+ --);
+
+ -- rs232-tx
+ rs232tx_inst : entity work.uart_tx(beh)
+ generic map (
+ CLK_FREQ => 50000000,
+ BAUDRATE => 115200
+ )
+ port map (
+ sys_clk => CLK_50MHZ,
+ sys_res_n => sys_res_n,
+ txd => txd,
+ tx_data => tx_data,
+ tx_new => tx_new,
+ tx_done => tx_done
+ );
end architecture top;