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 109 to Rev 118
    Reverse comparison

Rev 109 → Rev 118

/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 : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: System09_Digilent_3S500E.vhd =================================================================== --- System09_Digilent_3S500E.vhd (revision 109) +++ System09_Digilent_3S500E.vhd (revision 118) @@ -1,14 +1,14 @@ -- $Id: System09_Digilent_3S500E.vhd,v 1.3.2.1 2008/04/08 14:59:48 davidgb Exp $ ---===========================================================================---- +--=========================================================================== -- --- S Y N T H E Z I A B L E System09 - SOC. +-- System09 - SoC for the Digilent Spartan 3E Starter board -- ---===========================================================================---- +--=========================================================================== -- --- This core adheres to the GNU public license +-- File name : System09_Digilent_3S500E.vhd +-- +-- Entity name : my_system09 -- --- 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,19 +18,67 @@ -- ieee.std_logic_arith -- ieee.numeric_std -- --- Uses : mon_rom (kbug_rom2k.vhd) Monitor ROM --- cpu09 (cpu09.vhd) CPU core --- miniuart (minitUART3.vhd) ACIA / MiniUART --- (rxunit3.vhd) --- (tx_unit3.vhd) +-- 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 -- -- 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 @@ -82,7 +130,17 @@ -- $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; @@ -131,6 +189,10 @@ ----------------------------------------------------------------------------- -- 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); @@ -140,11 +202,6 @@ 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); @@ -163,38 +220,60 @@ signal pia_irq_b : Std_Logic; -- keyboard port - signal keyboard_data_out : std_logic_vector(7 downto 0); - signal keyboard_cs : std_logic; - signal keyboard_irq : std_logic; + signal kbd_data_out : std_logic_vector(7 downto 0); + signal kbd_cs : std_logic; + signal kbd_irq : std_logic; -- Video Display Unit - signal vga_clk : std_logic; - signal vdu_cs : std_logic; - signal vdu_data_out : std_logic_vector(7 downto 0); + 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_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); + 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 +-- +----------------------------------------------------------------- - -- 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); +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; ----------------------------------------------------------------- -- @@ -206,9 +285,9 @@ port ( clk : in std_logic; rst : in std_logic; + vma : out std_logic; + addr : out std_logic_vector(15 downto 0); rw : out std_logic; - vma : 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; @@ -247,8 +326,8 @@ clk : in std_logic; rst : in std_logic; cs : in std_logic; + addr : in std_logic_vector (14 downto 0); rw : in std_logic; - addr : in std_logic_vector (14 downto 0); data_in : in std_logic_vector (7 downto 0); data_out : out std_logic_vector (7 downto 0) ); @@ -265,8 +344,8 @@ clk : in std_logic; rst : in std_logic; cs : in std_logic; + addr : in std_logic_vector(1 downto 0); rw : in std_logic; - addr : in std_logic_vector(1 downto 0); data_in : in std_logic_vector(7 downto 0); data_out : out std_logic_vector(7 downto 0); irqa : out std_logic; @@ -281,7 +360,7 @@ -- ----------------------------------------------------------------- -component ACIA_6850 +component acia6850 port ( clk : in Std_Logic; -- System Clock rst : in Std_Logic; -- Reset input (active high) @@ -325,12 +404,12 @@ component timer port ( - 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); + 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 ); @@ -347,8 +426,8 @@ clk : in std_logic; rst : in std_logic; cs : in std_logic; + vma : in std_logic; rw : in std_logic; - vma : 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); @@ -364,19 +443,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; - 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 + 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 ); end component; @@ -419,25 +498,49 @@ ); 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 +-- +----------------------------------------- -component BUFG -port ( - i: in std_logic; - o: out std_logic +my_LED_flasher : flasher port map ( + clk => cpu_clk, + rst => cpu_rst, + LED => LED(0) ); -end component; + +---------------------------------------- +-- +-- 6809 compatible CPU +-- +---------------------------------------- -begin - ----------------------------------------------------------------------------- - -- Instantiation of internal components - ----------------------------------------------------------------------------- - my_cpu : cpu09 port map ( clk => cpu_clk, - rst => cpu_reset, + rst => cpu_rst, + vma => cpu_vma, + addr => cpu_addr(15 downto 0), rw => cpu_rw, - vma => cpu_vma, - address => cpu_addr(15 downto 0), data_out => cpu_data_out, data_in => cpu_data_in, irq => cpu_irq, @@ -449,10 +552,10 @@ my_rom : mon_rom port map ( clk => cpu_clk, - rst => cpu_reset, + rst => cpu_rst, cs => rom_cs, + addr => cpu_addr(10 downto 0), rw => '1', - addr => cpu_addr(10 downto 0), data_in => cpu_data_out, data_out => rom_data_out ); @@ -459,10 +562,10 @@ my_ram : ram_32k port map ( clk => cpu_clk, - rst => cpu_reset, + rst => cpu_rst, cs => ram_cs, + addr => cpu_addr(14 downto 0), rw => cpu_rw, - addr => cpu_addr(14 downto 0), data_in => cpu_data_out, data_out => ram_data_out ); @@ -469,10 +572,10 @@ my_pia : pia_timer port map ( clk => cpu_clk, - rst => cpu_reset, + rst => cpu_rst, cs => pia_cs, + addr => cpu_addr(1 downto 0), rw => cpu_rw, - addr => cpu_addr(1 downto 0), data_in => cpu_data_out, data_out => pia_data_out, irqa => pia_irq_a, @@ -479,28 +582,27 @@ irqb => pia_irq_b ); - ---------------------------------------- -- -- ACIA/UART Serial interface -- ---------------------------------------- -my_ACIA : ACIA_6850 port map ( +my_ACIA : acia6850 port map ( clk => cpu_clk, - rst => cpu_reset, + rst => cpu_rst, cs => uart_cs, + addr => cpu_addr(0), rw => cpu_rw, - addr => cpu_addr(0), data_in => cpu_data_out, data_out => uart_data_out, irq => uart_irq, RxC => uart_clk, TxC => uart_clk, - RxD => rxbit, - TxD => txbit, - DCD_n => dcd_n, - CTS_n => cts_n, - RTS_n => rts_n + RxD => RS232_DCE_RXD, + TxD => RS232_DCE_TXD, + DCD_n => '0', + CTS_n => '0', + RTS_n => open ); ---------------------------------------- @@ -514,7 +616,7 @@ ACIA_CLK_FREQ => ACIA_CLK_FREQ ) port map( - clk => SysClk, + clk => sys_clk, acia_clk => uart_clk ); @@ -527,19 +629,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_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 + 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 ); ---------------------------------------- @@ -559,16 +661,16 @@ VGA_VER_CHAR_LINES => 16, -- LINES VGA_VER_FRONT_PORCH => 10, -- LINES VGA_VER_SYNC => 2, -- LINES - VGA_VER_FRONT_PORCH => 34 -- LINES + VGA_VER_BACK_PORCH => 34 -- LINES ) port map( -- Control Registers vdu_clk => cpu_clk, -- 25 MHz System Clock in - vdu_rst => cpu_reset, + vdu_rst => cpu_rst, vdu_cs => vdu_cs, + vdu_addr => cpu_addr(2 downto 0), vdu_rw => cpu_rw, - vdu_addr => cpu_addr(2 downto 0), vdu_data_in => cpu_data_out, vdu_data_out => vdu_data_out, @@ -589,7 +691,7 @@ ---------------------------------------- my_timer : timer port map ( clk => cpu_clk, - rst => cpu_reset, + rst => cpu_rst, cs => timer_cs, rw => cpu_rw, addr => cpu_addr(0), @@ -605,7 +707,7 @@ ---------------------------------------- my_trap : trap port map ( clk => cpu_clk, - rst => cpu_reset, + rst => cpu_rst, cs => trap_cs, rw => cpu_rw, vma => cpu_vma, @@ -614,22 +716,6 @@ 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 - ); ---------------------------------------------------------------------- -- @@ -637,8 +723,7 @@ -- ---------------------------------------------------------------------- -mem_decode: process( cpu_clk, Reset_n, - cpu_addr, cpu_rw, cpu_vma, +mem_decode: process( cpu_addr, cpu_rw, cpu_vma, rom_data_out, ram_data_out, timer_data_out, @@ -645,14 +730,20 @@ trap_data_out, pia_data_out, uart_data_out, - keyboard_data_out, + kbd_data_out, vdu_data_out ) -variable decode_addr : std_logic_vector(3 downto 0); begin --- decode_addr := dat_addr(3 downto 0) & cpu_addr(11); - decode_addr := cpu_addr(15 downto 12); + + rom_cs <= '0'; + ram_cs <= '0'; + uart_cs <= '0'; + timer_cs <= '0'; + trap_cs <= '0'; + pia_cs <= '0'; + kbd_cs <= '0'; + vdu_cs <= '0'; - case decode_addr is + case cpu_addr(15 downto 12) is -- -- SBUG/KBUG/SYS09BUG Monitor ROM $F800 - $FFFF -- @@ -659,20 +750,11 @@ 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 @@ -680,11 +762,6 @@ 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 @@ -691,24 +768,13 @@ -- 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 <= keyboard_data_out; - uart_cs <= '0'; - timer_cs <= '0'; - trap_cs <= '0'; - pia_cs <= '0'; - keyboard_cs <= cpu_vma; - vdu_cs <= '0'; + cpu_data_in <= kbd_data_out; + kbd_cs <= cpu_vma; -- -- VDU port $E030 - $E03F @@ -715,11 +781,6 @@ -- 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; -- @@ -727,12 +788,6 @@ -- 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 @@ -739,12 +794,7 @@ -- 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 @@ -751,33 +801,17 @@ -- 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'; -- - -- I/O port $E070 - $E07F + -- PIA Timer $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; -- @@ -786,73 +820,37 @@ 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; -- --- Interrupts and other bus control signals +-- Assign CPU clock, reset, interrupt, halt & hold signals +-- as well as LED signals -- -interrupts : process( Reset_n, - pia_irq_a, pia_irq_b, uart_irq, trap_irq, timer_irq, keyboard_irq +assign_signals : process( vga_clk, BTN_SOUTH, + pia_irq_a, pia_irq_b, uart_irq, trap_irq, timer_irq, kbd_irq ) -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; +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'; --- --- -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); + -- LED outputs + LED(7 downto 1) <= (others=>'1'); + 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.