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

Subversion Repositories System09

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /System09/trunk/rtl/System09_Digilent_3S500E
    from Rev 118 to Rev 109
    Reverse comparison

Rev 118 → Rev 109

/System09_Digilent_3S500E_X.ise Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
System09_Digilent_3S500E_X.ise Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: System09_Digilent_3S500E.vhd =================================================================== --- System09_Digilent_3S500E.vhd (revision 118) +++ System09_Digilent_3S500E.vhd (revision 109) @@ -1,14 +1,14 @@ -- $Id: System09_Digilent_3S500E.vhd,v 1.3.2.1 2008/04/08 14:59:48 davidgb Exp $ ---=========================================================================== +--===========================================================================---- -- --- System09 - SoC for the Digilent Spartan 3E Starter board +-- S Y N T H E Z I A B L E System09 - SOC. -- ---=========================================================================== +--===========================================================================---- -- --- File name : System09_Digilent_3S500E.vhd --- --- Entity name : my_system09 +-- This core adheres to the GNU public license -- +-- File name : System09_Digilent_3S500E.vhd +-- -- Purpose : Top level file for 6809 compatible system on a chip -- Designed with Xilinx XC3S500E Spartan 3E FPGA. -- Implemented With Digilent Xilinx Starter FPGA board, @@ -18,67 +18,19 @@ -- ieee.std_logic_arith -- ieee.numeric_std -- --- Uses : clock_div (../vhdl/clock_div.vhd) System clock divider --- flasher (../vhdl/flasher.vhd) LED flasher --- ram_32k (../Spartan3/ram32k_b16.vhd) 32K block RAM --- cpu09 (../vhdl/cpu09.vhd) CPU core --- mon_rom (../spartan3/sys09bug_3se_rom2k_b16.vhd) Monitor ROM --- acia6850 (../vhdl/acia6850.vhd) ACIA --- ACIA_Clock (../vhdl/ACIA_Clock.vhd) ACIA Baud Clock Divider --- keyboard (../vhdl/keyboard.vhd) PS/2 Keyboard Interface --- vdu8 (../vhdl/vdu8.vhd) 80 x 25 Video Display --- timer (../vhdl/timer.vhd) Timer component --- pia_timer (../vhdl/pia_timer.vhd) PIA interrupt Timer cmponent --- trap (../vhdl/trap.vhd) Hardware Breakpoint Bus Trap --- vdu8 (../vhdl/vdu8.vhd) VDU +-- Uses : mon_rom (kbug_rom2k.vhd) Monitor ROM +-- cpu09 (cpu09.vhd) CPU core +-- miniuart (minitUART3.vhd) ACIA / MiniUART +-- (rxunit3.vhd) +-- (tx_unit3.vhd) -- -- Author : John E. Kent -- dilbert57@opencores.org --- Memory Map : --- --- $0000 - $7FFF System Block RAM --- $E000 - ACIA (SWTPc) --- $E010 - Reserved for SWTPc FD-01 FD1771 FDC --- $E020 - Keyboard --- $E030 - VDU --- $E040 - Reserved for SWTPc MP-T (was Compact Flash) --- $E050 - Timer --- $E060 - Bus Trap (Hardware Breakpoint Interrupt Logic) --- $E070 - PIA Single Step Timer (was Reserved for Trace Buffer) --- $E080 - Reserved for SWTPc MP-ID 6821 PIA (?) --- $E090 - Reserved for SWTPc MP-ID 6840 PTM (?) --- $E0A0 - reserved for SPP Printer Port --- $E0B0 - Reserved --- $E0C0 - Reserved --- $E100 - $E13F Reserved IDE / Compact Flash Card --- $E140 - $E17F Reserved for Ethernet MAC (XESS) --- $E180 - $E1BF Reserved for Expansion Slot 0 (XESS) --- $E1C0 - $E1FF Reserved for Expansion Slot 1 (XESS) --- $E200 - $EFFF Dual Port RAM interface --- $F000 - $F7FF Reserved SWTPc DMAF-2 --- $F800 - $FFFF Sys09bug ROM (Read only) --- $FFF0 - $FFFF Reserved for DAT - Dynamic Address Translation (Write Only) -- --- Copyright (C) 2003 - 2010 John Kent --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . --- ---=========================================================================== +--===========================================================================---- -- --- Revision History: --- ---=========================================================================== +-- Revision History: +--===========================================================================-- -- Version 0.1 - 20 March 2003 -- Version 0.2 - 30 March 2003 -- Version 0.3 - 29 April 2003 @@ -130,17 +82,7 @@ -- $E050 - Timer -- $E060 - Bus trap -- $E070 - Parallel I/O --- --- Version 4.1 - July / september 2010 --- Updated VDU interface --- and possible other changes. --- --- Version 4.2 - 14th September 2010 --- Replaced ACIA_6850 with acia6850 --- Cleaned up decoding --- Added Flasher component --- Added Clock Divider component --- +-- --===========================================================================-- library ieee; use ieee.std_logic_1164.all; @@ -189,10 +131,6 @@ ----------------------------------------------------------------------------- -- Signals ----------------------------------------------------------------------------- - -- Clocks - signal sys_clk : std_logic; - signal vga_clk : std_logic; - -- BOOT ROM signal rom_cs : Std_logic; signal rom_data_out : Std_Logic_Vector(7 downto 0); @@ -202,6 +140,11 @@ signal uart_cs : Std_Logic; signal uart_irq : Std_Logic; signal uart_clk : Std_Logic; + signal rxbit : Std_Logic; + signal txbit : Std_Logic; + signal DCD_n : Std_Logic; + signal RTS_n : Std_Logic; + signal CTS_n : Std_Logic; -- timer signal timer_data_out : std_logic_vector(7 downto 0); @@ -220,60 +163,38 @@ signal pia_irq_b : Std_Logic; -- keyboard port - signal kbd_data_out : std_logic_vector(7 downto 0); - signal kbd_cs : std_logic; - signal kbd_irq : std_logic; + signal keyboard_data_out : std_logic_vector(7 downto 0); + signal keyboard_cs : std_logic; + signal keyboard_irq : std_logic; -- Video Display Unit - signal vdu_cs : std_logic; - signal vdu_data_out : std_logic_vector(7 downto 0); + signal vga_clk : std_logic; + signal vdu_cs : std_logic; + signal vdu_data_out : std_logic_vector(7 downto 0); -- RAM - signal ram_cs : std_logic; -- memory chip select - signal ram_data_out : std_logic_vector(7 downto 0); + signal ram_cs : std_logic; -- memory chip select + signal ram_data_out : std_logic_vector(7 downto 0); -- CPU Interface signals - signal cpu_rst : Std_Logic; - signal cpu_clk : Std_Logic; - signal cpu_rw : std_logic; - signal cpu_vma : std_logic; - signal cpu_halt : std_logic; - signal cpu_hold : std_logic; - signal cpu_firq : std_logic; - signal cpu_irq : std_logic; - signal cpu_nmi : std_logic; - signal cpu_addr : std_logic_vector(15 downto 0); - signal cpu_data_in : std_logic_vector(7 downto 0); - signal cpu_data_out : std_logic_vector(7 downto 0); - ------------------------------------------------------------------ --- --- Clock generator --- ------------------------------------------------------------------ - -component clock_div - port( - clk_in : in std_Logic; -- System Clock input - sys_clk : out std_logic; -- System Clock Out (1/1) - vga_clk : out std_logic; -- VGA Pixel Clock Out (1/2) - cpu_clk : out std_logic -- CPU Clock Out (1/4) - ); -end component; - ------------------------------------------------------------------ --- --- LED Flasher --- ------------------------------------------------------------------ + signal cpu_reset : Std_Logic; + signal cpu_clk : Std_Logic; + signal cpu_rw : std_logic; + signal cpu_vma : std_logic; + signal cpu_halt : std_logic; + signal cpu_hold : std_logic; + signal cpu_firq : std_logic; + signal cpu_irq : std_logic; + signal cpu_nmi : std_logic; + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_data_in : std_logic_vector(7 downto 0); + signal cpu_data_out : std_logic_vector(7 downto 0); -component flasher - port ( - clk : in std_logic; -- Clock input - rst : in std_logic; -- Reset input (active high) - LED : out Std_Logic -- LED output - ); -end component; + -- CLK_50MHZ clock divide by 2 + signal clock_div : std_logic_vector(1 downto 0); + signal SysClk : std_logic; + signal Reset_n : std_logic; + signal CountL : std_logic_vector(23 downto 0); ----------------------------------------------------------------- -- @@ -285,9 +206,9 @@ port ( clk : in std_logic; rst : in std_logic; + rw : out std_logic; vma : out std_logic; - addr : out std_logic_vector(15 downto 0); - rw : out std_logic; + address : out std_logic_vector(15 downto 0); data_out : out std_logic_vector(7 downto 0); data_in : in std_logic_vector(7 downto 0); irq : in std_logic; @@ -326,8 +247,8 @@ clk : in std_logic; rst : in std_logic; cs : in std_logic; + rw : in std_logic; addr : in std_logic_vector (14 downto 0); - rw : in std_logic; data_in : in std_logic_vector (7 downto 0); data_out : out std_logic_vector (7 downto 0) ); @@ -344,8 +265,8 @@ clk : in std_logic; rst : in std_logic; cs : in std_logic; + rw : in std_logic; addr : in std_logic_vector(1 downto 0); - rw : in std_logic; data_in : in std_logic_vector(7 downto 0); data_out : out std_logic_vector(7 downto 0); irqa : out std_logic; @@ -360,7 +281,7 @@ -- ----------------------------------------------------------------- -component acia6850 +component ACIA_6850 port ( clk : in Std_Logic; -- System Clock rst : in Std_Logic; -- Reset input (active high) @@ -404,12 +325,12 @@ component timer port ( - clk : in std_logic; - rst : in std_logic; - cs : in std_logic; - addr : in std_logic; - rw : in std_logic; - data_in : in std_logic_vector(7 downto 0); + clk : in std_logic; + rst : in std_logic; + cs : in std_logic; + rw : in std_logic; + addr : in std_logic; + data_in : in std_logic_vector(7 downto 0); data_out : out std_logic_vector(7 downto 0); irq : out std_logic ); @@ -426,8 +347,8 @@ clk : in std_logic; rst : in std_logic; cs : in std_logic; + rw : in std_logic; vma : in std_logic; - rw : in std_logic; addr : in std_logic_vector(15 downto 0); data_in : in std_logic_vector(7 downto 0); data_out : out std_logic_vector(7 downto 0); @@ -443,19 +364,19 @@ component keyboard generic( - KBD_CLK_FREQ : integer := CPU_CLK_FREQ + KBD_CLK_FREQ : integer := CPU_CLK_FREQ ); port( - clk : in std_logic; - rst : in std_logic; - cs : in std_logic; - addr : in std_logic; - rw : in std_logic; - data_in : in std_logic_vector(7 downto 0); - data_out : out std_logic_vector(7 downto 0); - irq : out std_logic; - kbd_clk : inout std_logic; - kbd_data : inout std_logic + clk : in std_logic; + rst : in std_logic; + cs : in std_logic; + rw : in std_logic; + addr : in std_logic; + data_in : in std_logic_vector(7 downto 0); + data_out : out std_logic_vector(7 downto 0); + irq : out std_logic; + kbd_clk : inout std_logic; + kbd_data : inout std_logic ); end component; @@ -498,49 +419,25 @@ ); end component; -begin - ------------------------------------------------------------------------------ --- Instantiation of internal components ------------------------------------------------------------------------------ - ----------------------------------------- --- --- Clock generator --- ----------------------------------------- - -my_clock_div: clock_div port map ( - clk_in => CLK_50MHZ, -- Clock input - sys_clk => sys_clk, -- System Clock Out (1/1) - vga_clk => vga_clk, -- CPU/VGA Pixel Clock Out (1/2) - cpu_clk => open -- (1/4) - ); - ------------------------------------------ --- --- LED Flasher --- ------------------------------------------ -my_LED_flasher : flasher port map ( - clk => cpu_clk, - rst => cpu_rst, - LED => LED(0) +component BUFG +port ( + i: in std_logic; + o: out std_logic ); - ----------------------------------------- --- --- 6809 compatible CPU --- ----------------------------------------- +end component; +begin + ----------------------------------------------------------------------------- + -- Instantiation of internal components + ----------------------------------------------------------------------------- + my_cpu : cpu09 port map ( clk => cpu_clk, - rst => cpu_rst, + rst => cpu_reset, + rw => cpu_rw, vma => cpu_vma, - addr => cpu_addr(15 downto 0), - rw => cpu_rw, + address => cpu_addr(15 downto 0), data_out => cpu_data_out, data_in => cpu_data_in, irq => cpu_irq, @@ -552,10 +449,10 @@ my_rom : mon_rom port map ( clk => cpu_clk, - rst => cpu_rst, + rst => cpu_reset, cs => rom_cs, + rw => '1', addr => cpu_addr(10 downto 0), - rw => '1', data_in => cpu_data_out, data_out => rom_data_out ); @@ -562,10 +459,10 @@ my_ram : ram_32k port map ( clk => cpu_clk, - rst => cpu_rst, + rst => cpu_reset, cs => ram_cs, + rw => cpu_rw, addr => cpu_addr(14 downto 0), - rw => cpu_rw, data_in => cpu_data_out, data_out => ram_data_out ); @@ -572,10 +469,10 @@ my_pia : pia_timer port map ( clk => cpu_clk, - rst => cpu_rst, + rst => cpu_reset, cs => pia_cs, + rw => cpu_rw, addr => cpu_addr(1 downto 0), - rw => cpu_rw, data_in => cpu_data_out, data_out => pia_data_out, irqa => pia_irq_a, @@ -582,27 +479,28 @@ irqb => pia_irq_b ); + ---------------------------------------- -- -- ACIA/UART Serial interface -- ---------------------------------------- -my_ACIA : acia6850 port map ( +my_ACIA : ACIA_6850 port map ( clk => cpu_clk, - rst => cpu_rst, + rst => cpu_reset, cs => uart_cs, + rw => cpu_rw, addr => cpu_addr(0), - rw => cpu_rw, data_in => cpu_data_out, data_out => uart_data_out, irq => uart_irq, RxC => uart_clk, TxC => uart_clk, - RxD => RS232_DCE_RXD, - TxD => RS232_DCE_TXD, - DCD_n => '0', - CTS_n => '0', - RTS_n => open + RxD => rxbit, + TxD => txbit, + DCD_n => dcd_n, + CTS_n => cts_n, + RTS_n => rts_n ); ---------------------------------------- @@ -616,7 +514,7 @@ ACIA_CLK_FREQ => ACIA_CLK_FREQ ) port map( - clk => sys_clk, + clk => SysClk, acia_clk => uart_clk ); @@ -629,19 +527,19 @@ ---------------------------------------- my_keyboard : keyboard generic map ( - KBD_CLK_FREQ => CPU_CLK_FREQ + KBD_CLK_FREQ => CPU_CLK_FREQ ) port map( - clk => cpu_clk, - rst => cpu_rst, - cs => kbd_cs, - addr => cpu_addr(0), - rw => cpu_rw, - data_in => cpu_data_out(7 downto 0), - data_out => kbd_data_out(7 downto 0), - irq => kbd_irq, - kbd_clk => PS2_CLK, - kbd_data => PS2_DATA + clk => cpu_clk, + rst => cpu_reset, + cs => keyboard_cs, + rw => cpu_rw, + addr => cpu_addr(0), + data_in => cpu_data_out(7 downto 0), + data_out => keyboard_data_out(7 downto 0), + irq => keyboard_irq, + kbd_clk => PS2_CLK, + kbd_data => PS2_DATA ); ---------------------------------------- @@ -661,16 +559,16 @@ VGA_VER_CHAR_LINES => 16, -- LINES VGA_VER_FRONT_PORCH => 10, -- LINES VGA_VER_SYNC => 2, -- LINES - VGA_VER_BACK_PORCH => 34 -- LINES + VGA_VER_FRONT_PORCH => 34 -- LINES ) port map( -- Control Registers vdu_clk => cpu_clk, -- 25 MHz System Clock in - vdu_rst => cpu_rst, + vdu_rst => cpu_reset, vdu_cs => vdu_cs, + vdu_rw => cpu_rw, vdu_addr => cpu_addr(2 downto 0), - vdu_rw => cpu_rw, vdu_data_in => cpu_data_out, vdu_data_out => vdu_data_out, @@ -691,7 +589,7 @@ ---------------------------------------- my_timer : timer port map ( clk => cpu_clk, - rst => cpu_rst, + rst => cpu_reset, cs => timer_cs, rw => cpu_rw, addr => cpu_addr(0), @@ -707,7 +605,7 @@ ---------------------------------------- my_trap : trap port map ( clk => cpu_clk, - rst => cpu_rst, + rst => cpu_reset, cs => trap_cs, rw => cpu_rw, vma => cpu_vma, @@ -716,6 +614,22 @@ data_out => trap_data_out, irq => trap_irq ); + +-- +-- 25 MHz CPU clock +-- +cpu_clk_buffer : BUFG port map( + i => clock_div(0), + o => cpu_clk + ); + +-- +-- 25 MHz VGA Pixel clock +-- +vga_clk_buffer : BUFG port map( + i => clock_div(0), + o => vga_clk + ); ---------------------------------------------------------------------- -- @@ -723,7 +637,8 @@ -- ---------------------------------------------------------------------- -mem_decode: process( cpu_addr, cpu_rw, cpu_vma, +mem_decode: process( cpu_clk, Reset_n, + cpu_addr, cpu_rw, cpu_vma, rom_data_out, ram_data_out, timer_data_out, @@ -730,20 +645,14 @@ trap_data_out, pia_data_out, uart_data_out, - kbd_data_out, + keyboard_data_out, vdu_data_out ) +variable decode_addr : std_logic_vector(3 downto 0); begin - - rom_cs <= '0'; - ram_cs <= '0'; - uart_cs <= '0'; - timer_cs <= '0'; - trap_cs <= '0'; - pia_cs <= '0'; - kbd_cs <= '0'; - vdu_cs <= '0'; +-- decode_addr := dat_addr(3 downto 0) & cpu_addr(11); + decode_addr := cpu_addr(15 downto 12); - case cpu_addr(15 downto 12) is + case decode_addr is -- -- SBUG/KBUG/SYS09BUG Monitor ROM $F800 - $FFFF -- @@ -750,11 +659,20 @@ when "1111" => -- $F000 - $FFFF cpu_data_in <= rom_data_out; rom_cs <= cpu_vma; -- read ROM + ram_cs <= '0'; + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; -- -- IO Devices $E000 - $EFFF -- when "1110" => -- $E000 - $E7FF + rom_cs <= '0'; + ram_cs <= '0'; case cpu_addr(7 downto 4) is -- -- UART / ACIA $E000 @@ -762,6 +680,11 @@ when "0000" => -- $E000 cpu_data_in <= uart_data_out; uart_cs <= cpu_vma; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; -- -- WD1771 FDC sites at $E010-$E01F @@ -768,13 +691,24 @@ -- when "0001" => -- $E010 cpu_data_in <= (others => '0'); + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; -- -- Keyboard port $E020 - $E02F -- when "0010" => -- $E020 - cpu_data_in <= kbd_data_out; - kbd_cs <= cpu_vma; + cpu_data_in <= keyboard_data_out; + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= cpu_vma; + vdu_cs <= '0'; -- -- VDU port $E030 - $E03F @@ -781,6 +715,11 @@ -- when "0011" => -- $E030 cpu_data_in <= vdu_data_out; + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; vdu_cs <= cpu_vma; -- @@ -788,6 +727,12 @@ -- when "0100" => -- $E040 cpu_data_in <= (others => '0'); + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; -- -- Timer $E050 - $E05F @@ -794,7 +739,12 @@ -- when "0101" => -- $E050 cpu_data_in <= timer_data_out; + uart_cs <= '0'; timer_cs <= cpu_vma; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; -- -- Bus Trap Logic $E060 - $E06F @@ -801,17 +751,33 @@ -- when "0110" => -- $E060 cpu_data_in <= trap_data_out; + uart_cs <= '0'; + timer_cs <= '0'; trap_cs <= cpu_vma; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; -- - -- PIA Timer $E070 - $E07F + -- I/O port $E070 - $E07F -- when "0111" => -- $E070 cpu_data_in <= pia_data_out; + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; pia_cs <= cpu_vma; + keyboard_cs <= '0'; + vdu_cs <= '0'; when others => -- $E080 to $E7FF cpu_data_in <= (others => '0'); + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; end case; -- @@ -820,37 +786,73 @@ when "1101" | "1100" | "1011" | "1010" | "1001" | "1000" => cpu_data_in <= (others => '0'); - + rom_cs <= '0'; + ram_cs <= '0'; + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; -- -- Everything else is RAM -- when others => cpu_data_in <= ram_data_out; + rom_cs <= '0'; ram_cs <= cpu_vma; + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + keyboard_cs <= '0'; + vdu_cs <= '0'; end case; end process; -- --- Assign CPU clock, reset, interrupt, halt & hold signals --- as well as LED signals +-- Interrupts and other bus control signals -- -assign_signals : process( vga_clk, BTN_SOUTH, - pia_irq_a, pia_irq_b, uart_irq, trap_irq, timer_irq, kbd_irq +interrupts : process( Reset_n, + pia_irq_a, pia_irq_b, uart_irq, trap_irq, timer_irq, keyboard_irq ) -begin - cpu_clk <= vga_clk; - cpu_rst <= BTN_SOUTH; -- CPU reset is active high - cpu_irq <= uart_irq or kbd_irq; - cpu_nmi <= pia_irq_a or trap_irq; - cpu_firq <= pia_irq_b or timer_irq; - cpu_halt <= '0'; - cpu_hold <= '0'; +begin + cpu_reset <= not Reset_n; -- CPU reset is active high + cpu_irq <= uart_irq or keyboard_irq; + cpu_nmi <= pia_irq_a or trap_irq; + cpu_firq <= pia_irq_b or timer_irq; + cpu_halt <= '0'; + cpu_hold <= '0'; +end process; - -- LED outputs - LED(7 downto 1) <= (others=>'1'); - +-- +-- +my_led_flasher: process( SysClk, Reset_n, CountL ) +begin + if Reset_n = '0' then + CountL <= "000000000000000000000000"; + elsif(SysClk'event and SysClk = '0') then + CountL <= CountL + 1; + end if; + LED(7 downto 0) <= CountL(23 downto 16); end process; +-- +-- Clock divider +-- +my_clock_divider: process( SysClk ) +begin + if SysClk'event and SysClk='0' then + clock_div <= clock_div + "01"; + end if; +end process; +DCD_n <= '0'; +CTS_n <= '0'; +Reset_n <= not BTN_SOUTH; -- CPU reset is active high +SysClk <= CLK_50MHZ; +rxbit <= RS232_DCE_RXD; +RS232_DCE_TXD <= txbit; + end my_computer; --===================== End of architecture =======================--

powered by: WebSVN 2.1.0

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