[Armadeus-commitlog] SF.net SVN: armadeus: [586] trunk/firmware/led
Brought to you by:
sszy
|
From: <th...@us...> - 2007-04-15 17:19:38
|
Revision: 586
http://armadeus.svn.sourceforge.net/armadeus/?rev=586&view=rev
Author: thom25
Date: 2007-04-15 10:19:36 -0700 (Sun, 15 Apr 2007)
Log Message:
-----------
add simulation files
Added Paths:
-----------
trunk/firmware/led/clock_divider_tbw.ant
trunk/firmware/led/clock_divider_tbw.jhd
trunk/firmware/led/clock_divider_tbw.vhw
trunk/firmware/led/clock_divider_tbw.xwv
trunk/firmware/led/clock_divider_tbw_beh.prj
trunk/firmware/led/clock_divider_tbw_bencher.prj
trunk/firmware/led/clock_divider_tbw_par.prj
trunk/firmware/led/debouncer_tbw.ant
trunk/firmware/led/debouncer_tbw.jhd
trunk/firmware/led/debouncer_tbw.xwv
trunk/firmware/led/debouncer_tbw_beh.prj
trunk/firmware/led/flip_flop_tbw.ant
trunk/firmware/led/flip_flop_tbw.jhd
trunk/firmware/led/flip_flop_tbw.xwv
trunk/firmware/led/flip_flop_tbw_beh.prj
trunk/firmware/led/flip_flop_tbw_bencher.prj
trunk/firmware/led/led_top_tbw.ant
trunk/firmware/led/led_top_tbw.jhd
trunk/firmware/led/led_top_tbw.xwv
trunk/firmware/led/led_top_tbw_beh.prj
trunk/firmware/led/led_top_tbw_bencher.prj
trunk/firmware/led/led_top_tbw_gen.prj
trunk/firmware/led/led_top_tbw_par.prj
trunk/firmware/led/led_top_tbw_selfcheck.ant
trunk/firmware/led/led_top_tbw_selfcheck.vhw
trunk/firmware/led/led_top_tbw_selfcheck_beh_beh.prj
Added: trunk/firmware/led/clock_divider_tbw.ant
===================================================================
--- trunk/firmware/led/clock_divider_tbw.ant (rev 0)
+++ trunk/firmware/led/clock_divider_tbw.ant 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,113 @@
+--------------------------------------------------------------------------------
+-- Copyright (c) 1995-2003 Xilinx, Inc.
+-- All Right Reserved.
+--------------------------------------------------------------------------------
+-- ____ ____
+-- / /\/ /
+-- /___/ \ / Vendor: Xilinx
+-- \ \ \/ Version : 9.1i
+-- \ \ Application : ISE
+-- / / Filename : clock_divider_tbw.ant
+-- /___/ /\ Timestamp : Fri Apr 13 23:07:43 2007
+-- \ \ / \
+-- \___\/\___\
+--
+--Command:
+--Design Name: clock_divider_tbw
+--Device: Xilinx
+--
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+USE IEEE.STD_LOGIC_TEXTIO.ALL;
+USE STD.TEXTIO.ALL;
+
+ENTITY clock_divider_tbw IS
+END clock_divider_tbw;
+
+ARCHITECTURE testbench_arch OF clock_divider_tbw IS
+ FILE RESULTS: TEXT OPEN WRITE_MODE IS "/home/benoit/armadeus/trunk/firmware/led/clock_divider_tbw.ano";
+
+ COMPONENT clock_divider
+ PORT (
+ clk_in : In std_logic;
+ clk_out : Out std_logic
+ );
+ END COMPONENT;
+
+ SIGNAL clk_in : std_logic := '0';
+ SIGNAL clk_out : std_logic := '0';
+
+ SHARED VARIABLE TX_ERROR : INTEGER := 0;
+ SHARED VARIABLE TX_OUT : LINE;
+
+ constant PERIOD : time := 20 ns;
+ constant DUTY_CYCLE : real := 0.5;
+ constant OFFSET : time := 100 ns;
+
+ BEGIN
+ UUT : clock_divider
+ PORT MAP (
+ clk_in => clk_in,
+ clk_out => clk_out
+ );
+
+ PROCESS -- clock process for clk_in
+ BEGIN
+ WAIT for OFFSET;
+ CLOCK_LOOP : LOOP
+ clk_in <= '0';
+ WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
+ clk_in <= '1';
+ WAIT FOR (PERIOD * DUTY_CYCLE);
+ END LOOP CLOCK_LOOP;
+ END PROCESS;
+
+ PROCESS -- Annotation process for clk_in
+ VARIABLE TX_TIME : INTEGER := 0;
+
+ PROCEDURE ANNOTATE_clk_out(
+ TX_TIME : INTEGER
+ ) IS
+ VARIABLE TX_STR : String(1 to 4096);
+ VARIABLE TX_LOC : LINE;
+ BEGIN
+ STD.TEXTIO.write(TX_LOC, string'("Annotate["));
+ STD.TEXTIO.write(TX_LOC, TX_TIME);
+ STD.TEXTIO.write(TX_LOC, string'(", clk_out, "));
+ IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, clk_out);
+ STD.TEXTIO.write(TX_LOC, string'("]"));
+ TX_STR(TX_LOC.all'range) := TX_LOC.all;
+ STD.TEXTIO.writeline(RESULTS, TX_LOC);
+ STD.TEXTIO.Deallocate(TX_LOC);
+ END;
+ BEGIN
+ WAIT for 1 fs;
+ ANNOTATE_clk_out(0);
+ WAIT for OFFSET;
+ TX_TIME := TX_TIME + 100;
+ ANNO_LOOP : LOOP
+ --Rising Edge
+ WAIT for 11 ns;
+ TX_TIME := TX_TIME + 11;
+ ANNOTATE_clk_out(TX_TIME);
+ WAIT for 9 ns;
+ TX_TIME := TX_TIME + 9;
+ END LOOP ANNO_LOOP;
+ END PROCESS;
+
+ PROCESS
+ BEGIN
+ WAIT FOR 1020 ns;
+
+ STD.TEXTIO.write(TX_OUT, string'("Total[]"));
+ STD.TEXTIO.writeline(RESULTS, TX_OUT);
+ ASSERT (FALSE) REPORT
+ "Success! Simulation for annotation completed"
+ SEVERITY FAILURE;
+ END PROCESS;
+
+ END testbench_arch;
+
Added: trunk/firmware/led/clock_divider_tbw.jhd
===================================================================
--- trunk/firmware/led/clock_divider_tbw.jhd (rev 0)
+++ trunk/firmware/led/clock_divider_tbw.jhd 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,3 @@
+MODULE clock_divider_tbw
+SUBMODULE clock_divider
+INSTANCE UUT
Added: trunk/firmware/led/clock_divider_tbw.vhw
===================================================================
--- trunk/firmware/led/clock_divider_tbw.vhw (rev 0)
+++ trunk/firmware/led/clock_divider_tbw.vhw 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,70 @@
+--------------------------------------------------------------------------------
+-- Copyright (c) 1995-2003 Xilinx, Inc.
+-- All Right Reserved.
+--------------------------------------------------------------------------------
+-- ____ ____
+-- / /\/ /
+-- /___/ \ / Vendor: Xilinx
+-- \ \ \/ Version : 9.1i
+-- \ \ Application : ISE
+-- / / Filename : clock_divider_tbw.vhw
+-- /___/ /\ Timestamp : Fri Apr 13 23:07:43 2007
+-- \ \ / \
+-- \___\/\___\
+--
+--Command:
+--Design Name: clock_divider_tbw
+--Device: Xilinx
+--
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+USE IEEE.STD_LOGIC_TEXTIO.ALL;
+USE STD.TEXTIO.ALL;
+
+ENTITY clock_divider_tbw IS
+END clock_divider_tbw;
+
+ARCHITECTURE testbench_arch OF clock_divider_tbw IS
+ COMPONENT clock_divider
+ PORT (
+ clk_in : In std_logic;
+ clk_out : Out std_logic
+ );
+ END COMPONENT;
+
+ SIGNAL clk_in : std_logic := '0';
+ SIGNAL clk_out : std_logic := '0';
+
+ constant PERIOD : time := 20 ns;
+ constant DUTY_CYCLE : real := 0.5;
+ constant OFFSET : time := 100 ns;
+
+ BEGIN
+ UUT : clock_divider
+ PORT MAP (
+ clk_in => clk_in,
+ clk_out => clk_out
+ );
+
+ PROCESS -- clock process for clk_in
+ BEGIN
+ WAIT for OFFSET;
+ CLOCK_LOOP : LOOP
+ clk_in <= '0';
+ WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
+ clk_in <= '1';
+ WAIT FOR (PERIOD * DUTY_CYCLE);
+ END LOOP CLOCK_LOOP;
+ END PROCESS;
+
+ PROCESS
+ BEGIN
+ WAIT FOR 1020 ns;
+
+ END PROCESS;
+
+ END testbench_arch;
+
Added: trunk/firmware/led/clock_divider_tbw.xwv
===================================================================
(Binary files differ)
Property changes on: trunk/firmware/led/clock_divider_tbw.xwv
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/firmware/led/clock_divider_tbw_beh.prj
===================================================================
--- trunk/firmware/led/clock_divider_tbw_beh.prj (rev 0)
+++ trunk/firmware/led/clock_divider_tbw_beh.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,2 @@
+vhdl work "clock_divider.vhd"
+vhdl work "clock_divider_tbw.vhw"
Added: trunk/firmware/led/clock_divider_tbw_bencher.prj
===================================================================
--- trunk/firmware/led/clock_divider_tbw_bencher.prj (rev 0)
+++ trunk/firmware/led/clock_divider_tbw_bencher.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1 @@
+vhdl work "clock_divider.vhd"
Added: trunk/firmware/led/clock_divider_tbw_par.prj
===================================================================
--- trunk/firmware/led/clock_divider_tbw_par.prj (rev 0)
+++ trunk/firmware/led/clock_divider_tbw_par.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1 @@
+vhdl work "clock_divider_tbw.vhw"
Added: trunk/firmware/led/debouncer_tbw.ant
===================================================================
--- trunk/firmware/led/debouncer_tbw.ant (rev 0)
+++ trunk/firmware/led/debouncer_tbw.ant 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,172 @@
+--------------------------------------------------------------------------------
+-- Copyright (c) 1995-2003 Xilinx, Inc.
+-- All Right Reserved.
+--------------------------------------------------------------------------------
+-- ____ ____
+-- / /\/ /
+-- /___/ \ / Vendor: Xilinx
+-- \ \ \/ Version : 9.1i
+-- \ \ Application : ISE
+-- / / Filename : debouncer_tbw.ant
+-- /___/ /\ Timestamp : Fri Apr 13 22:26:03 2007
+-- \ \ / \
+-- \___\/\___\
+--
+--Command:
+--Design Name: debouncer_tbw
+--Device: Xilinx
+--
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+USE IEEE.STD_LOGIC_TEXTIO.ALL;
+USE STD.TEXTIO.ALL;
+
+ENTITY debouncer_tbw IS
+END debouncer_tbw;
+
+ARCHITECTURE testbench_arch OF debouncer_tbw IS
+ FILE RESULTS: TEXT OPEN WRITE_MODE IS "/home/benoit/armadeus/trunk/firmware/led/debouncer_tbw.ano";
+
+ COMPONENT debouncer
+ PORT (
+ clk_100hz : In std_logic;
+ button_in : In std_logic;
+ button_debounced_out : Out std_logic
+ );
+ END COMPONENT;
+
+ SIGNAL clk_100hz : std_logic := '0';
+ SIGNAL button_in : std_logic := '0';
+ SIGNAL button_debounced_out : std_logic := '0';
+
+ SHARED VARIABLE TX_ERROR : INTEGER := 0;
+ SHARED VARIABLE TX_OUT : LINE;
+
+ constant PERIOD : time := 200 ns;
+ constant DUTY_CYCLE : real := 0.5;
+ constant OFFSET : time := 100 ns;
+
+ BEGIN
+ UUT : debouncer
+ PORT MAP (
+ clk_100hz => clk_100hz,
+ button_in => button_in,
+ button_debounced_out => button_debounced_out
+ );
+
+ PROCESS -- clock process for clk_100hz
+ BEGIN
+ WAIT for OFFSET;
+ CLOCK_LOOP : LOOP
+ clk_100hz <= '0';
+ WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
+ clk_100hz <= '1';
+ WAIT FOR (PERIOD * DUTY_CYCLE);
+ END LOOP CLOCK_LOOP;
+ END PROCESS;
+
+ PROCESS -- Annotation process for clk_100hz
+ VARIABLE TX_TIME : INTEGER := 0;
+
+ PROCEDURE ANNOTATE_button_debounced_out(
+ TX_TIME : INTEGER
+ ) IS
+ VARIABLE TX_STR : String(1 to 4096);
+ VARIABLE TX_LOC : LINE;
+ BEGIN
+ STD.TEXTIO.write(TX_LOC, string'("Annotate["));
+ STD.TEXTIO.write(TX_LOC, TX_TIME);
+ STD.TEXTIO.write(TX_LOC, string'(", button_debounced_out, "));
+ IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, button_debounced_out);
+ STD.TEXTIO.write(TX_LOC, string'("]"));
+ TX_STR(TX_LOC.all'range) := TX_LOC.all;
+ STD.TEXTIO.writeline(RESULTS, TX_LOC);
+ STD.TEXTIO.Deallocate(TX_LOC);
+ END;
+ BEGIN
+ WAIT for 1 fs;
+ ANNOTATE_button_debounced_out(0);
+ WAIT for OFFSET;
+ TX_TIME := TX_TIME + 100;
+ ANNO_LOOP : LOOP
+ --Rising Edge
+ WAIT for 115 ns;
+ TX_TIME := TX_TIME + 115;
+ ANNOTATE_button_debounced_out(TX_TIME);
+ WAIT for 85 ns;
+ TX_TIME := TX_TIME + 85;
+ END LOOP ANNO_LOOP;
+ END PROCESS;
+
+ PROCESS
+ BEGIN
+ -- ------------- Current Time: 100ns
+ WAIT FOR 100 ns;
+ button_in <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 385ns
+ WAIT FOR 285 ns;
+ button_in <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 585ns
+ WAIT FOR 200 ns;
+ button_in <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 785ns
+ WAIT FOR 200 ns;
+ button_in <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 985ns
+ WAIT FOR 200 ns;
+ button_in <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 1785ns
+ WAIT FOR 800 ns;
+ button_in <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 3185ns
+ WAIT FOR 1400 ns;
+ button_in <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 4585ns
+ WAIT FOR 1400 ns;
+ button_in <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 4785ns
+ WAIT FOR 200 ns;
+ button_in <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 5385ns
+ WAIT FOR 600 ns;
+ button_in <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 5585ns
+ WAIT FOR 200 ns;
+ button_in <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 5785ns
+ WAIT FOR 200 ns;
+ button_in <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 7385ns
+ WAIT FOR 1600 ns;
+ button_in <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 8185ns
+ WAIT FOR 800 ns;
+ button_in <= '0';
+ -- -------------------------------------
+ WAIT FOR 2015 ns;
+
+ STD.TEXTIO.write(TX_OUT, string'("Total[]"));
+ STD.TEXTIO.writeline(RESULTS, TX_OUT);
+ ASSERT (FALSE) REPORT
+ "Success! Simulation for annotation completed"
+ SEVERITY FAILURE;
+ END PROCESS;
+
+ END testbench_arch;
+
Added: trunk/firmware/led/debouncer_tbw.jhd
===================================================================
--- trunk/firmware/led/debouncer_tbw.jhd (rev 0)
+++ trunk/firmware/led/debouncer_tbw.jhd 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,3 @@
+MODULE debouncer_tbw
+SUBMODULE debouncer
+INSTANCE UUT
Added: trunk/firmware/led/debouncer_tbw.xwv
===================================================================
(Binary files differ)
Property changes on: trunk/firmware/led/debouncer_tbw.xwv
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/firmware/led/debouncer_tbw_beh.prj
===================================================================
--- trunk/firmware/led/debouncer_tbw_beh.prj (rev 0)
+++ trunk/firmware/led/debouncer_tbw_beh.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,2 @@
+vhdl work "debouncer.vhd"
+vhdl work "debouncer_tbw.vhw"
Added: trunk/firmware/led/flip_flop_tbw.ant
===================================================================
--- trunk/firmware/led/flip_flop_tbw.ant (rev 0)
+++ trunk/firmware/led/flip_flop_tbw.ant 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,132 @@
+--------------------------------------------------------------------------------
+-- Copyright (c) 1995-2003 Xilinx, Inc.
+-- All Right Reserved.
+--------------------------------------------------------------------------------
+-- ____ ____
+-- / /\/ /
+-- /___/ \ / Vendor: Xilinx
+-- \ \ \/ Version : 9.1i
+-- \ \ Application : ISE
+-- / / Filename : flip_flop_tbw.ant
+-- /___/ /\ Timestamp : Fri Apr 13 22:13:11 2007
+-- \ \ / \
+-- \___\/\___\
+--
+--Command:
+--Design Name: flip_flop_tbw
+--Device: Xilinx
+--
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+USE IEEE.STD_LOGIC_TEXTIO.ALL;
+USE STD.TEXTIO.ALL;
+
+ENTITY flip_flop_tbw IS
+END flip_flop_tbw;
+
+ARCHITECTURE testbench_arch OF flip_flop_tbw IS
+ FILE RESULTS: TEXT OPEN WRITE_MODE IS "/home/benoit/armadeus/trunk/firmware/led/flip_flop_tbw.ano";
+
+ COMPONENT flip_flop
+ PORT (
+ clk_100hz : In std_logic;
+ switch_in_n : In std_logic;
+ led_out : Out std_logic
+ );
+ END COMPONENT;
+
+ SIGNAL clk_100hz : std_logic := '0';
+ SIGNAL switch_in_n : std_logic := '0';
+ SIGNAL led_out : std_logic := '0';
+
+ SHARED VARIABLE TX_ERROR : INTEGER := 0;
+ SHARED VARIABLE TX_OUT : LINE;
+
+ constant PERIOD : time := 200 ns;
+ constant DUTY_CYCLE : real := 0.5;
+ constant OFFSET : time := 100 ns;
+
+ BEGIN
+ UUT : flip_flop
+ PORT MAP (
+ clk_100hz => clk_100hz,
+ switch_in_n => switch_in_n,
+ led_out => led_out
+ );
+
+ PROCESS -- clock process for clk_100hz
+ BEGIN
+ WAIT for OFFSET;
+ CLOCK_LOOP : LOOP
+ clk_100hz <= '0';
+ WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
+ clk_100hz <= '1';
+ WAIT FOR (PERIOD * DUTY_CYCLE);
+ END LOOP CLOCK_LOOP;
+ END PROCESS;
+
+ PROCESS -- Annotation process for clk_100hz
+ VARIABLE TX_TIME : INTEGER := 0;
+
+ PROCEDURE ANNOTATE_led_out(
+ TX_TIME : INTEGER
+ ) IS
+ VARIABLE TX_STR : String(1 to 4096);
+ VARIABLE TX_LOC : LINE;
+ BEGIN
+ STD.TEXTIO.write(TX_LOC, string'("Annotate["));
+ STD.TEXTIO.write(TX_LOC, TX_TIME);
+ STD.TEXTIO.write(TX_LOC, string'(", led_out, "));
+ IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, led_out);
+ STD.TEXTIO.write(TX_LOC, string'("]"));
+ TX_STR(TX_LOC.all'range) := TX_LOC.all;
+ STD.TEXTIO.writeline(RESULTS, TX_LOC);
+ STD.TEXTIO.Deallocate(TX_LOC);
+ END;
+ BEGIN
+ WAIT for 1 fs;
+ ANNOTATE_led_out(0);
+ WAIT for OFFSET;
+ TX_TIME := TX_TIME + 100;
+ ANNO_LOOP : LOOP
+ --Rising Edge
+ WAIT for 115 ns;
+ TX_TIME := TX_TIME + 115;
+ ANNOTATE_led_out(TX_TIME);
+ WAIT for 85 ns;
+ TX_TIME := TX_TIME + 85;
+ END LOOP ANNO_LOOP;
+ END PROCESS;
+
+ PROCESS
+ BEGIN
+ -- ------------- Current Time: 185ns
+ WAIT FOR 185 ns;
+ switch_in_n <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 385ns
+ WAIT FOR 200 ns;
+ switch_in_n <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 585ns
+ WAIT FOR 200 ns;
+ switch_in_n <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 785ns
+ WAIT FOR 200 ns;
+ switch_in_n <= '0';
+ -- -------------------------------------
+ WAIT FOR 415 ns;
+
+ STD.TEXTIO.write(TX_OUT, string'("Total[]"));
+ STD.TEXTIO.writeline(RESULTS, TX_OUT);
+ ASSERT (FALSE) REPORT
+ "Success! Simulation for annotation completed"
+ SEVERITY FAILURE;
+ END PROCESS;
+
+ END testbench_arch;
+
Added: trunk/firmware/led/flip_flop_tbw.jhd
===================================================================
--- trunk/firmware/led/flip_flop_tbw.jhd (rev 0)
+++ trunk/firmware/led/flip_flop_tbw.jhd 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,3 @@
+MODULE flip_flop_tbw
+SUBMODULE flip_flop
+INSTANCE UUT
Added: trunk/firmware/led/flip_flop_tbw.xwv
===================================================================
(Binary files differ)
Property changes on: trunk/firmware/led/flip_flop_tbw.xwv
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/firmware/led/flip_flop_tbw_beh.prj
===================================================================
--- trunk/firmware/led/flip_flop_tbw_beh.prj (rev 0)
+++ trunk/firmware/led/flip_flop_tbw_beh.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,2 @@
+vhdl work "flip_flop.vhd"
+vhdl work "flip_flop_tbw.vhw"
Added: trunk/firmware/led/flip_flop_tbw_bencher.prj
===================================================================
--- trunk/firmware/led/flip_flop_tbw_bencher.prj (rev 0)
+++ trunk/firmware/led/flip_flop_tbw_bencher.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1 @@
+vhdl work "flip_flop.vhd"
Added: trunk/firmware/led/led_top_tbw.ant
===================================================================
--- trunk/firmware/led/led_top_tbw.ant (rev 0)
+++ trunk/firmware/led/led_top_tbw.ant 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,211 @@
+--------------------------------------------------------------------------------
+-- Copyright (c) 1995-2003 Xilinx, Inc.
+-- All Right Reserved.
+--------------------------------------------------------------------------------
+-- ____ ____
+-- / /\/ /
+-- /___/ \ / Vendor: Xilinx
+-- \ \ \/ Version : 9.1i
+-- \ \ Application : ISE
+-- / / Filename : led_top_tbw.ant
+-- /___/ /\ Timestamp : Fri Apr 13 22:51:37 2007
+-- \ \ / \
+-- \___\/\___\
+--
+--Command:
+--Design Name: led_top_tbw
+--Device: Xilinx
+--
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+USE IEEE.STD_LOGIC_TEXTIO.ALL;
+USE STD.TEXTIO.ALL;
+
+ENTITY led_top_tbw IS
+END led_top_tbw;
+
+ARCHITECTURE testbench_arch OF led_top_tbw IS
+ FILE RESULTS: TEXT OPEN WRITE_MODE IS "/home/benoit/armadeus/trunk/firmware/led/led_top_tbw.ano";
+
+ COMPONENT led_top
+ PORT (
+ DataxD : InOut std_logic_vector (15 DownTo 0);
+ AddrxDI : In std_logic_vector (12 DownTo 0);
+ WRxBI : In std_logic;
+ RDxBI : In std_logic;
+ CSxBI : In std_logic;
+ clk : In std_logic;
+ button : In std_logic;
+ led : Out std_logic
+ );
+ END COMPONENT;
+
+ SIGNAL DataxD : std_logic_vector (15 DownTo 0) := "0000000000000000";
+ SIGNAL AddrxDI : std_logic_vector (12 DownTo 0) := "0000000000000";
+ SIGNAL WRxBI : std_logic := '0';
+ SIGNAL RDxBI : std_logic := '0';
+ SIGNAL CSxBI : std_logic := '0';
+ SIGNAL clk : std_logic := '0';
+ SIGNAL button : std_logic := '0';
+ SIGNAL led : std_logic := '0';
+
+ SHARED VARIABLE TX_ERROR : INTEGER := 0;
+ SHARED VARIABLE TX_OUT : LINE;
+
+ constant PERIOD : time := 20 ns;
+ constant DUTY_CYCLE : real := 0.5;
+ constant OFFSET : time := 100 ns;
+
+ BEGIN
+ UUT : led_top
+ PORT MAP (
+ DataxD => DataxD,
+ AddrxDI => AddrxDI,
+ WRxBI => WRxBI,
+ RDxBI => RDxBI,
+ CSxBI => CSxBI,
+ clk => clk,
+ button => button,
+ led => led
+ );
+
+ PROCESS -- clock process for clk
+ BEGIN
+ WAIT for OFFSET;
+ CLOCK_LOOP : LOOP
+ clk <= '0';
+ WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
+ clk <= '1';
+ WAIT FOR (PERIOD * DUTY_CYCLE);
+ END LOOP CLOCK_LOOP;
+ END PROCESS;
+
+ PROCESS -- Annotation process for clk
+ VARIABLE TX_TIME : INTEGER := 0;
+
+ PROCEDURE ANNOTATE_led(
+ TX_TIME : INTEGER
+ ) IS
+ VARIABLE TX_STR : String(1 to 4096);
+ VARIABLE TX_LOC : LINE;
+ BEGIN
+ STD.TEXTIO.write(TX_LOC, string'("Annotate["));
+ STD.TEXTIO.write(TX_LOC, TX_TIME);
+ STD.TEXTIO.write(TX_LOC, string'(", led, "));
+ IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, led);
+ STD.TEXTIO.write(TX_LOC, string'("]"));
+ TX_STR(TX_LOC.all'range) := TX_LOC.all;
+ STD.TEXTIO.writeline(RESULTS, TX_LOC);
+ STD.TEXTIO.Deallocate(TX_LOC);
+ END;
+ BEGIN
+ WAIT for 1 fs;
+ ANNOTATE_led(0);
+ WAIT for OFFSET;
+ TX_TIME := TX_TIME + 100;
+ ANNO_LOOP : LOOP
+ --Rising Edge
+ WAIT for 11 ns;
+ TX_TIME := TX_TIME + 11;
+ ANNOTATE_led(TX_TIME);
+ WAIT for 9 ns;
+ TX_TIME := TX_TIME + 9;
+ END LOOP ANNO_LOOP;
+ END PROCESS;
+
+ PROCESS
+ BEGIN
+ -- ------------- Current Time: 129ns
+ WAIT FOR 129 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 169ns
+ WAIT FOR 40 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 189ns
+ WAIT FOR 20 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 209ns
+ WAIT FOR 20 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 249ns
+ WAIT FOR 40 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 269ns
+ WAIT FOR 20 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 309ns
+ WAIT FOR 40 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 369ns
+ WAIT FOR 60 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 549ns
+ WAIT FOR 180 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 669ns
+ WAIT FOR 120 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 809ns
+ WAIT FOR 140 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 1029ns
+ WAIT FOR 220 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 1409ns
+ WAIT FOR 380 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 2709ns
+ WAIT FOR 1300 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 4269ns
+ WAIT FOR 1560 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 4309ns
+ WAIT FOR 40 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 4769ns
+ WAIT FOR 460 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 5429ns
+ WAIT FOR 660 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 6629ns
+ WAIT FOR 1200 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 8269ns
+ WAIT FOR 1640 ns;
+ button <= '0';
+ -- -------------------------------------
+ WAIT FOR 1751 ns;
+
+ STD.TEXTIO.write(TX_OUT, string'("Total[]"));
+ STD.TEXTIO.writeline(RESULTS, TX_OUT);
+ ASSERT (FALSE) REPORT
+ "Success! Simulation for annotation completed"
+ SEVERITY FAILURE;
+ END PROCESS;
+
+ END testbench_arch;
+
Added: trunk/firmware/led/led_top_tbw.jhd
===================================================================
--- trunk/firmware/led/led_top_tbw.jhd (rev 0)
+++ trunk/firmware/led/led_top_tbw.jhd 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,3 @@
+MODULE led_top_tbw
+SUBMODULE led_top
+INSTANCE UUT
Added: trunk/firmware/led/led_top_tbw.xwv
===================================================================
(Binary files differ)
Property changes on: trunk/firmware/led/led_top_tbw.xwv
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/firmware/led/led_top_tbw_beh.prj
===================================================================
--- trunk/firmware/led/led_top_tbw_beh.prj (rev 0)
+++ trunk/firmware/led/led_top_tbw_beh.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,5 @@
+vhdl work "flip_flop.vhd"
+vhdl work "debouncer.vhd"
+vhdl work "clock_divider.vhd"
+vhdl work "led_top.vhd"
+vhdl work "led_top_tbw.vhw"
Added: trunk/firmware/led/led_top_tbw_bencher.prj
===================================================================
--- trunk/firmware/led/led_top_tbw_bencher.prj (rev 0)
+++ trunk/firmware/led/led_top_tbw_bencher.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,4 @@
+vhdl work "flip_flop.vhd"
+vhdl work "debouncer.vhd"
+vhdl work "clock_divider.vhd"
+vhdl work "led_top.vhd"
Added: trunk/firmware/led/led_top_tbw_gen.prj
===================================================================
--- trunk/firmware/led/led_top_tbw_gen.prj (rev 0)
+++ trunk/firmware/led/led_top_tbw_gen.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,5 @@
+vhdl work "flip_flop.vhd"
+vhdl work "debouncer.vhd"
+vhdl work "clock_divider.vhd"
+vhdl work "led_top.vhd"
+vhdl work "led_top_tbw.ant"
Added: trunk/firmware/led/led_top_tbw_par.prj
===================================================================
--- trunk/firmware/led/led_top_tbw_par.prj (rev 0)
+++ trunk/firmware/led/led_top_tbw_par.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,2 @@
+vhdl work "netgen/par/led_top_timesim.vhd"
+vhdl work "led_top_tbw.vhw"
Added: trunk/firmware/led/led_top_tbw_selfcheck.ant
===================================================================
--- trunk/firmware/led/led_top_tbw_selfcheck.ant (rev 0)
+++ trunk/firmware/led/led_top_tbw_selfcheck.ant 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,211 @@
+--------------------------------------------------------------------------------
+-- Copyright (c) 1995-2003 Xilinx, Inc.
+-- All Right Reserved.
+--------------------------------------------------------------------------------
+-- ____ ____
+-- / /\/ /
+-- /___/ \ / Vendor: Xilinx
+-- \ \ \/ Version : 9.1i
+-- \ \ Application : ISE
+-- / / Filename : led_top_tbw_selfcheck.ant
+-- /___/ /\ Timestamp : Fri Apr 13 22:51:44 2007
+-- \ \ / \
+-- \___\/\___\
+--
+--Command:
+--Design Name: led_top_tbw_selfcheck
+--Device: Xilinx
+--
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+USE IEEE.STD_LOGIC_TEXTIO.ALL;
+USE STD.TEXTIO.ALL;
+
+ENTITY led_top_tbw_selfcheck IS
+END led_top_tbw_selfcheck;
+
+ARCHITECTURE testbench_arch OF led_top_tbw_selfcheck IS
+ FILE RESULTS: TEXT OPEN WRITE_MODE IS "/home/benoit/armadeus/trunk/firmware/led/led_top_tbw_selfcheck.ano";
+
+ COMPONENT led_top
+ PORT (
+ DataxD : InOut std_logic_vector (15 DownTo 0);
+ AddrxDI : In std_logic_vector (12 DownTo 0);
+ WRxBI : In std_logic;
+ RDxBI : In std_logic;
+ CSxBI : In std_logic;
+ clk : In std_logic;
+ button : In std_logic;
+ led : Out std_logic
+ );
+ END COMPONENT;
+
+ SIGNAL DataxD : std_logic_vector (15 DownTo 0) := "0000000000000000";
+ SIGNAL AddrxDI : std_logic_vector (12 DownTo 0) := "0000000000000";
+ SIGNAL WRxBI : std_logic := '0';
+ SIGNAL RDxBI : std_logic := '0';
+ SIGNAL CSxBI : std_logic := '0';
+ SIGNAL clk : std_logic := '0';
+ SIGNAL button : std_logic := '0';
+ SIGNAL led : std_logic := 'U';
+
+ SHARED VARIABLE TX_ERROR : INTEGER := 0;
+ SHARED VARIABLE TX_OUT : LINE;
+
+ constant PERIOD : time := 20 ns;
+ constant DUTY_CYCLE : real := 0.5;
+ constant OFFSET : time := 100 ns;
+
+ BEGIN
+ UUT : led_top
+ PORT MAP (
+ DataxD => DataxD,
+ AddrxDI => AddrxDI,
+ WRxBI => WRxBI,
+ RDxBI => RDxBI,
+ CSxBI => CSxBI,
+ clk => clk,
+ button => button,
+ led => led
+ );
+
+ PROCESS -- clock process for clk
+ BEGIN
+ WAIT for OFFSET;
+ CLOCK_LOOP : LOOP
+ clk <= '0';
+ WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
+ clk <= '1';
+ WAIT FOR (PERIOD * DUTY_CYCLE);
+ END LOOP CLOCK_LOOP;
+ END PROCESS;
+
+ PROCESS -- Annotation process for clk
+ VARIABLE TX_TIME : INTEGER := 0;
+
+ PROCEDURE ANNOTATE_led(
+ TX_TIME : INTEGER
+ ) IS
+ VARIABLE TX_STR : String(1 to 4096);
+ VARIABLE TX_LOC : LINE;
+ BEGIN
+ STD.TEXTIO.write(TX_LOC, string'("Annotate["));
+ STD.TEXTIO.write(TX_LOC, TX_TIME);
+ STD.TEXTIO.write(TX_LOC, string'(", led, "));
+ IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, led);
+ STD.TEXTIO.write(TX_LOC, string'("]"));
+ TX_STR(TX_LOC.all'range) := TX_LOC.all;
+ STD.TEXTIO.writeline(RESULTS, TX_LOC);
+ STD.TEXTIO.Deallocate(TX_LOC);
+ END;
+ BEGIN
+ WAIT for 1 fs;
+ ANNOTATE_led(0);
+ WAIT for OFFSET;
+ TX_TIME := TX_TIME + 100;
+ ANNO_LOOP : LOOP
+ --Rising Edge
+ WAIT for 11 ns;
+ TX_TIME := TX_TIME + 11;
+ ANNOTATE_led(TX_TIME);
+ WAIT for 9 ns;
+ TX_TIME := TX_TIME + 9;
+ END LOOP ANNO_LOOP;
+ END PROCESS;
+
+ PROCESS
+ BEGIN
+ -- ------------- Current Time: 129ns
+ WAIT FOR 129 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 169ns
+ WAIT FOR 40 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 189ns
+ WAIT FOR 20 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 209ns
+ WAIT FOR 20 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 249ns
+ WAIT FOR 40 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 269ns
+ WAIT FOR 20 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 309ns
+ WAIT FOR 40 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 369ns
+ WAIT FOR 60 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 549ns
+ WAIT FOR 180 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 669ns
+ WAIT FOR 120 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 809ns
+ WAIT FOR 140 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 1029ns
+ WAIT FOR 220 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 1409ns
+ WAIT FOR 380 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 2709ns
+ WAIT FOR 1300 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 4269ns
+ WAIT FOR 1560 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 4309ns
+ WAIT FOR 40 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 4769ns
+ WAIT FOR 460 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 5429ns
+ WAIT FOR 660 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 6629ns
+ WAIT FOR 1200 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 8269ns
+ WAIT FOR 1640 ns;
+ button <= '0';
+ -- -------------------------------------
+ WAIT FOR 1751 ns;
+
+ STD.TEXTIO.write(TX_OUT, string'("Total[]"));
+ STD.TEXTIO.writeline(RESULTS, TX_OUT);
+ ASSERT (FALSE) REPORT
+ "Success! Simulation for annotation completed"
+ SEVERITY FAILURE;
+ END PROCESS;
+
+ END testbench_arch;
+
Added: trunk/firmware/led/led_top_tbw_selfcheck.vhw
===================================================================
--- trunk/firmware/led/led_top_tbw_selfcheck.vhw (rev 0)
+++ trunk/firmware/led/led_top_tbw_selfcheck.vhw 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,228 @@
+--------------------------------------------------------------------------------
+-- Copyright (c) 1995-2003 Xilinx, Inc.
+-- All Right Reserved.
+--------------------------------------------------------------------------------
+-- ____ ____
+-- / /\/ /
+-- /___/ \ / Vendor: Xilinx
+-- \ \ \/ Version : 9.1i
+-- \ \ Application : ISE
+-- / / Filename : led_top_tbw_selfcheck.vhw
+-- /___/ /\ Timestamp : Fri Apr 13 22:51:44 2007
+-- \ \ / \
+-- \___\/\___\
+--
+--Command:
+--Design Name: led_top_tbw_selfcheck
+--Device: Xilinx
+--
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+USE IEEE.STD_LOGIC_TEXTIO.ALL;
+USE STD.TEXTIO.ALL;
+
+ENTITY led_top_tbw_selfcheck IS
+END led_top_tbw_selfcheck;
+
+ARCHITECTURE testbench_arch OF led_top_tbw_selfcheck IS
+ COMPONENT led_top
+ PORT (
+ DataxD : InOut std_logic_vector (15 DownTo 0);
+ AddrxDI : In std_logic_vector (12 DownTo 0);
+ WRxBI : In std_logic;
+ RDxBI : In std_logic;
+ CSxBI : In std_logic;
+ clk : In std_logic;
+ button : In std_logic;
+ led : Out std_logic
+ );
+ END COMPONENT;
+
+ SIGNAL DataxD : std_logic_vector (15 DownTo 0) := "0000000000000000";
+ SIGNAL AddrxDI : std_logic_vector (12 DownTo 0) := "0000000000000";
+ SIGNAL WRxBI : std_logic := '0';
+ SIGNAL RDxBI : std_logic := '0';
+ SIGNAL CSxBI : std_logic := '0';
+ SIGNAL clk : std_logic := '0';
+ SIGNAL button : std_logic := '0';
+ SIGNAL led : std_logic := 'U';
+
+ SHARED VARIABLE TX_ERROR : INTEGER := 0;
+ SHARED VARIABLE TX_OUT : LINE;
+
+ constant PERIOD : time := 20 ns;
+ constant DUTY_CYCLE : real := 0.5;
+ constant OFFSET : time := 100 ns;
+
+ BEGIN
+ UUT : led_top
+ PORT MAP (
+ DataxD => DataxD,
+ AddrxDI => AddrxDI,
+ WRxBI => WRxBI,
+ RDxBI => RDxBI,
+ CSxBI => CSxBI,
+ clk => clk,
+ button => button,
+ led => led
+ );
+
+ PROCESS -- clock process for clk
+ BEGIN
+ WAIT for OFFSET;
+ CLOCK_LOOP : LOOP
+ clk <= '0';
+ WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
+ clk <= '1';
+ WAIT FOR (PERIOD * DUTY_CYCLE);
+ END LOOP CLOCK_LOOP;
+ END PROCESS;
+
+ PROCESS
+ PROCEDURE CHECK_led(
+ next_led : std_logic;
+ TX_TIME : INTEGER
+ ) IS
+ VARIABLE TX_STR : String(1 to 4096);
+ VARIABLE TX_LOC : LINE;
+ BEGIN
+ IF (led /= next_led) THEN
+ STD.TEXTIO.write(TX_LOC, string'("Error at time="));
+ STD.TEXTIO.write(TX_LOC, TX_TIME);
+ STD.TEXTIO.write(TX_LOC, string'("ns led="));
+ IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, led);
+ STD.TEXTIO.write(TX_LOC, string'(", Expected = "));
+ IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, next_led);
+ STD.TEXTIO.write(TX_LOC, string'(" "));
+ TX_STR(TX_LOC.all'range) := TX_LOC.all;
+ STD.TEXTIO.Deallocate(TX_LOC);
+ ASSERT (FALSE) REPORT TX_STR SEVERITY ERROR;
+ TX_ERROR := TX_ERROR + 1;
+ END IF;
+ END;
+ BEGIN
+ -- ------------- Current Time: 129ns
+ WAIT FOR 129 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 131ns
+ WAIT FOR 2 ns;
+ CHECK_led('0', 131);
+ -- -------------------------------------
+ -- ------------- Current Time: 169ns
+ WAIT FOR 38 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 171ns
+ WAIT FOR 2 ns;
+ CHECK_led('1', 171);
+ -- -------------------------------------
+ -- ------------- Current Time: 189ns
+ WAIT FOR 18 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 209ns
+ WAIT FOR 20 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 249ns
+ WAIT FOR 40 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 269ns
+ WAIT FOR 20 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 309ns
+ WAIT FOR 40 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 369ns
+ WAIT FOR 60 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 549ns
+ WAIT FOR 180 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 669ns
+ WAIT FOR 120 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 809ns
+ WAIT FOR 140 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 1029ns
+ WAIT FOR 220 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 1251ns
+ WAIT FOR 222 ns;
+ CHECK_led('0', 1251);
+ -- -------------------------------------
+ -- ------------- Current Time: 1409ns
+ WAIT FOR 158 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 2709ns
+ WAIT FOR 1300 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 2931ns
+ WAIT FOR 222 ns;
+ CHECK_led('1', 2931);
+ -- -------------------------------------
+ -- ------------- Current Time: 4269ns
+ WAIT FOR 1338 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 4309ns
+ WAIT FOR 40 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 4769ns
+ WAIT FOR 460 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 5429ns
+ WAIT FOR 660 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 5651ns
+ WAIT FOR 222 ns;
+ CHECK_led('0', 5651);
+ -- -------------------------------------
+ -- ------------- Current Time: 6629ns
+ WAIT FOR 978 ns;
+ button <= '1';
+ -- -------------------------------------
+ -- ------------- Current Time: 8269ns
+ WAIT FOR 1640 ns;
+ button <= '0';
+ -- -------------------------------------
+ -- ------------- Current Time: 8491ns
+ WAIT FOR 222 ns;
+ CHECK_led('1', 8491);
+ -- -------------------------------------
+ WAIT FOR 1529 ns;
+
+ IF (TX_ERROR = 0) THEN
+ STD.TEXTIO.write(TX_OUT, string'("No errors or warnings"));
+ ASSERT (FALSE) REPORT
+ "Simulation successful (not a failure). No problems detected."
+ SEVERITY FAILURE;
+ ELSE
+ STD.TEXTIO.write(TX_OUT, TX_ERROR);
+ STD.TEXTIO.write(TX_OUT,
+ string'(" errors found in simulation"));
+ ASSERT (FALSE) REPORT "Errors found during simulation"
+ SEVERITY FAILURE;
+ END IF;
+ END PROCESS;
+
+ END testbench_arch;
+
Added: trunk/firmware/led/led_top_tbw_selfcheck_beh_beh.prj
===================================================================
--- trunk/firmware/led/led_top_tbw_selfcheck_beh_beh.prj (rev 0)
+++ trunk/firmware/led/led_top_tbw_selfcheck_beh_beh.prj 2007-04-15 17:19:36 UTC (rev 586)
@@ -0,0 +1,5 @@
+vhdl work "flip_flop.vhd"
+vhdl work "debouncer.vhd"
+vhdl work "clock_divider.vhd"
+vhdl work "led_top.vhd"
+vhdl work "led_top_tbw_selfcheck_beh.vhd"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|