URL
https://opencores.org/ocsvn/8051/8051/trunk
Subversion Repositories 8051
Compare Revisions
- This comparison shows the changes necessary to convert path
/8051/trunk/sim
- from Rev 185 to Rev 186
- ↔ Reverse comparison
Rev 185 → Rev 186
/rtl_sim/run/run_sim.scr
0,0 → 1,107
#!/bin/csh -f |
|
if ( $# < 1 ) then |
echo "First argument must be a top level module name!" |
exit |
else |
set SIM_TOP = $1 |
endif |
|
set current_par = 1 |
set output_waveform = 0 |
while ( $current_par < $# ) |
@ current_par = $current_par + 1 |
case wave: |
@ output_waveform = 1 |
breaksw |
default: |
echo 'Unknown option "'$argv[$current_par]'"!' |
exit |
breaksw |
endsw |
end |
|
echo "-CDSLIB ../bin/cds.lib" > ncvlog.args |
echo "-HDLVAR ../bin/hdl.var" >> ncvlog.args |
echo "-MESSAGES" >> ncvlog.args |
echo "-INCDIR ../../../bench/verilog" >> ncvlog.args |
echo "-INCDIR ../../../rtl/verilog" >> ncvlog.args |
echo "-NOCOPYRIGHT" >> ncvlog.args |
echo "-LOGFILE ../log/ncvlog.log" >> ncvlog.args |
|
|
echo "../../../bench/verilog/oc8051_tb.v " >> ncvlog.args |
echo "../../../bench/verilog/oc8051_xram.v " >> ncvlog.args |
echo "../../../bench/verilog/oc8051_uart_test.v " >> ncvlog.args |
echo "../../../bench/verilog/oc8051_xrom.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_top.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_alu_src_sel.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_alu.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_decoder.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_divide.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_multiply.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_memory_interface.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_ram_top.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_acc.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_comp.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_sp.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_dptr.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_cy_select.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_psw.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_indi_addr.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_ports.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_b_register.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_uart.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_int.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_tc.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_tc2.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_icache.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_wb_iinterface.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_sfr.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_rom.v " >> ncvlog.args |
|
echo "../../../rtl/verilog/oc8051_ram_256x8_two_bist.v " >> ncvlog.args |
echo "../../../rtl/verilog/oc8051_ram_64x32_dual_bist.v " >> ncvlog.args |
|
|
echo "../../../../common/generic_memories/rtl/verilog/generic_dpram.v" >> ncvlog.args |
|
|
ncvlog -f ncvlog.args |
|
|
echo "-MESSAGES" > ncelab.args |
echo "-NOCOPYRIGHT" >> ncelab.args |
echo "-CDSLIB ../bin/cds.lib" >> ncelab.args |
echo "-HDLVAR ../bin/hdl.var" >> ncelab.args |
echo "-LOGFILE ../log/ncelab.log" >> ncelab.args |
echo "-SNAPSHOT worklib.bench:rtl" >> ncelab.args |
echo "-NO_TCHK_MSG" >> ncelab.args |
echo "-ACCESS +RWC" >> ncelab.args |
echo worklib.$SIM_TOP >> ncelab.args |
|
|
ncelab -f ncelab.args |
|
|
echo "-MESSAGES" > ncsim.args |
echo "-NOCOPYRIGHT" >> ncsim.args |
echo "-CDSLIB ../bin/cds.lib" >> ncsim.args |
echo "-HDLVAR ../bin/hdl.var" >> ncsim.args |
echo "-INPUT ncsim.tcl" >> ncsim.args |
echo "-LOGFILE ../log/ncsim.log" >> ncsim.args |
echo "worklib.bench:rtl" >> ncsim.args |
|
if ( $output_waveform ) then |
echo "database -open waves -shm -into ../out/waves.shm" > ./ncsim.tcl |
echo "probe -create -database waves $SIM_TOP -shm -all -depth all" >> ./ncsim.tcl |
echo "run" >> ./ncsim.tcl |
else |
echo "run" > ./ncsim.tcl |
endif |
|
echo "quit" >> ncsim.tcl |
|
|
ncsim -LICQUEUE -f ./ncsim.args |
|
rtl_sim/run/run_sim.scr
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: rtl_sim/run/make
===================================================================
--- rtl_sim/run/make (nonexistent)
+++ rtl_sim/run/make (revision 186)
@@ -0,0 +1 @@
+../../../bench/verilog/oc8051_tb.v ../../../bench/verilog/oc8051_xram.v ../../../bench/verilog/oc8051_uart_test.v ../../../bench/verilog/oc8051_xrom.v ../../../rtl/verilog/oc8051_top.v ../../../rtl/verilog/oc8051_alu_src_sel.v ../../../rtl/verilog/oc8051_alu.v ../../../rtl/verilog/oc8051_decoder.v ../../../rtl/verilog/oc8051_divide.v ../../../rtl/verilog/oc8051_multiply.v ../../../rtl/verilog/oc8051_memory_interface.v ../../../rtl/verilog/oc8051_ram_top.v ../../../rtl/verilog/oc8051_acc.v ../../../rtl/verilog/oc8051_comp.v ../../../rtl/verilog/oc8051_sp.v ../../../rtl/verilog/oc8051_dptr.v ../../../rtl/verilog/oc8051_cy_select.v ../../../rtl/verilog/oc8051_psw.v ../../../rtl/verilog/oc8051_indi_addr.v ../../../rtl/verilog/oc8051_ports.v ../../../rtl/verilog/oc8051_b_register.v ../../../rtl/verilog/oc8051_uart.v ../../../rtl/verilog/oc8051_int.v ../../../rtl/verilog/oc8051_tc.v ../../../rtl/verilog/oc8051_tc2.v ../../../rtl/verilog/oc8051_icache.v ../../../rtl/verilog/oc8051_wb_iinterface.v ../../../rtl/verilog/oc8051_sfr.v ../../../rtl/verilog/oc8051_rom.v ../../../rtl/verilog/oc8051_ram_256x8_two_bist.v ../../../rtl/verilog/oc8051_ram_64x32_dual_bist.v ../../../../common/generic_memories/rtl/verilog/generic_dpram.v
rtl_sim/run/make
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: rtl_sim/run/run
===================================================================
--- rtl_sim/run/run (nonexistent)
+++ rtl_sim/run/run (revision 186)
@@ -0,0 +1,145 @@
+#!/bin/csh -f
+#
+# testa all programs with oc8051 microcontroler
+#
+
+rm cds.lib hdl.var RUN_NC
+rm nc*
+rm -r INCA_libs
+
+set failedi = 0;
+set failedx = 0;
+set all_testsi = 0;
+set all_testsx = 0;
+
+set internal_tests=(testall lcall r_bank test_xram xrom_test div16u \
+ interrupt_test timer_test counter_test timer2_test serial_test \
+ negcnt gcd int2bin cast divmul fib sort sqroot xram \
+ )
+
+set external_tests=(testall lcall r_bank test_xram xrom_test div16u \
+ interrupt_test serial_test \
+ negcnt gcd int2bin cast divmul fib sort sqroot xram \
+ )
+
+
+# Prepare all .args files
+iteration:
+echo ""
+echo ""
+echo " preparing files"
+echo ""
+
+ncprep -f make > ../out/ncprep.out
+
+if (`tail -1 ../out/ncprep.out | grep Failed` != "") then
+ echo ""
+ cat ../out/ncprep.out
+ exit
+endif
+
+# Run NC-Verilog compiler
+echo ""
+echo "\t@@@"
+echo "\t@@@ Compiling sources"
+echo "\t@@@"
+
+ncvlog -NOCOPYRIGHT -f ncvlog.args > ../out/ncvlog.out
+if ($status != 0) then
+ echo "\t@@@ FAILED"
+ echo ""
+ cat ../out/ncvlog.out
+ exit
+else
+ echo "\t@@@ Passed"
+endif
+
+# Run the NC-Verilog elaborator (build the design hierarchy)
+echo ""
+echo "\t@@@"
+echo "\t@@@ Building design hierarchy (elaboration)"
+echo "\t@@@"
+ncelab -NOTIMINGCHECKS -NOCOPYRIGHT -f ncelab.args > ../out/ncelab.out
+if ($status != 0) then
+ echo "\t@@@ FAILED"
+ echo ""
+ cat ../out/ncelab.out
+ exit
+else
+ echo "\t@@@ Passed"
+endif
+
+# Run the NC-Verilog simulator (simulate the design)
+
+echo ""
+echo "\t@@@"
+echo "\t@@@ Tesing programs from internal rom"
+echo "\t@@@"
+
+cp ../oc8051_eai.in ../oc8051_ea.in
+set i = 0;
+foreach internal_test ($internal_tests)
+ @ i += 1;
+ echo ""
+ echo "\t###"
+ echo "\t### Running test ${i}: ${internal_test}"
+ echo "\t###"
+
+ cp ../../../bench/in/${internal_test}.in ../../../bench/in/oc8051_rom.in
+ ncsim -NOCOPYRIGHT -f ncsim.args > ../out/ncsim.out
+ if ($status != 0) then
+ cat ../out/ncsim.out
+ exit
+ else if (`tail -5 ../out/ncsim.out | grep Passed` == "") then
+ echo "\t### FAILED"
+ @ failedi += 1;
+ @ all_testsi += 1;
+ else
+ echo "\t### Passed"
+ @ all_testsi += 1;
+ endif
+ mv ../out/ncsim.out ../out/${internal_test}.out
+
+
+end
+
+echo ""
+echo "\t@@@"
+echo "\t@@@ tesing programs from external rom"
+echo "\t@@@"
+
+cp ../oc8051_eax.in ../oc8051_ea.in
+set i = 0;
+foreach external_test ($external_tests)
+ @ i += 1;
+ echo ""
+ echo "\t###"
+ echo "\t### Running test ${i}: ${external_test}"
+ echo "\t###"
+
+ cp ../../../bench/in/${external_test}.in ../../../bench/in/oc8051_xrom.in
+ cp ../oc8051_eax.in ../oc8051_ea.in
+ ncsim -NOCOPYRIGHT -f ncsim.args > ../out/ncsim.out
+ if ($status != 0) then
+ cat ../out/ncsim.out
+ exit
+ else if (`tail -5 ../out/ncsim.out | grep Passed` == "") then
+ echo "\t### FAILED"
+ @ failedx += 1;
+ @ all_testsx += 1;
+ else
+ echo "\t### Passed"
+ @ all_testsx += 1;
+ endif
+ mv ../out/ncsim.out ../out/x_${external_test}.out
+
+end
+
+ echo ""
+ echo "\t###"
+ echo "\t### Failed $failedi of $all_testsi internal tests"
+ echo "\t###"
+ echo "\t### Failed $failedx of $all_testsx external tests"
+ echo "\t###"
+
+
rtl_sim/run/run
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: rtl_sim/run/oc8051_defines.v
===================================================================
--- rtl_sim/run/oc8051_defines.v (nonexistent)
+++ rtl_sim/run/oc8051_defines.v (revision 186)
@@ -0,0 +1,521 @@
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// 8051 cores Definitions ////
+//// ////
+//// This file is part of the 8051 cores project ////
+//// http://www.opencores.org/cores/8051/ ////
+//// ////
+//// Description ////
+//// 8051 definitions. ////
+//// ////
+//// To Do: ////
+//// Nothing ////
+//// ////
+//// Author(s): ////
+//// - Simon Teran, simont@opencores.org ////
+//// - Jaka Simsic, jakas@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source 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 Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+// ver: 1
+//
+
+//
+// oc8051 pherypherals
+//
+`define OC8051_UART
+`define OC8051_TC01
+`define OC8051_TC2
+`define OC8051_PORTS //ports global enable
+`define OC8051_PORT0
+`define OC8051_PORT1
+`define OC8051_PORT2
+`define OC8051_PORT3
+
+
+//
+// oc8051 ITERNAL ROM
+//
+`define OC8051_ROM
+
+
+//
+// oc8051 memory
+//
+//`define OC8051_CACHE
+//`define OC8051_WB
+//`define OC8051_XILINX_ROM
+//`define OC8051_XILINX_RAMB
+
+//
+// oc8051 simulation defines
+//
+`define OC8051_SIMULATION
+//`define OC8051_SERIAL
+
+//
+// operation codes for alu
+//
+
+
+`define OC8051_ALU_NOP 4'b0000
+`define OC8051_ALU_ADD 4'b0001
+`define OC8051_ALU_SUB 4'b0010
+`define OC8051_ALU_MUL 4'b0011
+`define OC8051_ALU_DIV 4'b0100
+`define OC8051_ALU_DA 4'b0101
+`define OC8051_ALU_NOT 4'b0110
+`define OC8051_ALU_AND 4'b0111
+`define OC8051_ALU_XOR 4'b1000
+`define OC8051_ALU_OR 4'b1001
+`define OC8051_ALU_RL 4'b1010
+`define OC8051_ALU_RLC 4'b1011
+`define OC8051_ALU_RR 4'b1100
+`define OC8051_ALU_RRC 4'b1101
+`define OC8051_ALU_INC 4'b1110
+`define OC8051_ALU_XCH 4'b1111
+
+//
+// sfr addresses
+//
+
+`define OC8051_SFR_ACC 8'he0 //accumulator
+`define OC8051_SFR_B 8'hf0 //b register
+`define OC8051_SFR_PSW 8'hd0 //program status word
+`define OC8051_SFR_P0 8'h80 //port 0
+`define OC8051_SFR_P1 8'h90 //port 1
+`define OC8051_SFR_P2 8'ha0 //port 2
+`define OC8051_SFR_P3 8'hb0 //port 3
+`define OC8051_SFR_DPTR_LO 8'h82 // data pointer high bits
+`define OC8051_SFR_DPTR_HI 8'h83 // data pointer low bits
+`define OC8051_SFR_IP0 8'hb8 // interrupt priority
+`define OC8051_SFR_IEN0 8'ha8 // interrupt enable 0
+`define OC8051_SFR_TMOD 8'h89 // timer/counter mode
+`define OC8051_SFR_TCON 8'h88 // timer/counter control
+`define OC8051_SFR_TH0 8'h8c // timer/counter 0 high bits
+`define OC8051_SFR_TL0 8'h8a // timer/counter 0 low bits
+`define OC8051_SFR_TH1 8'h8d // timer/counter 1 high bits
+`define OC8051_SFR_TL1 8'h8b // timer/counter 1 low bits
+
+`define OC8051_SFR_SCON 8'h98 // serial control 0
+`define OC8051_SFR_SBUF 8'h99 // serial data buffer 0
+`define OC8051_SFR_SADDR 8'ha9 // serila address register 0
+`define OC8051_SFR_SADEN 8'hb9 // serila address enable 0
+
+`define OC8051_SFR_PCON 8'h87 // power control
+`define OC8051_SFR_SP 8'h81 // stack pointer
+
+
+
+`define OC8051_SFR_IE 8'ha8 // interrupt enable
+`define OC8051_SFR_IP 8'hb7 // interrupt priority
+
+`define OC8051_SFR_RCAP2H 8'hcb // timer 2 capture high
+`define OC8051_SFR_RCAP2L 8'hca // timer 2 capture low
+
+`define OC8051_SFR_T2CON 8'hc8 // timer 2 control register
+`define OC8051_SFR_TH2 8'hcd // timer 2 high
+`define OC8051_SFR_TL2 8'hcc // timer 2 low
+
+
+
+//
+// sfr bit addresses
+//
+`define OC8051_SFR_B_ACC 5'b11100 //accumulator
+`define OC8051_SFR_B_PSW 5'b11010 //program status word
+`define OC8051_SFR_B_P0 5'b10000 //port 0
+`define OC8051_SFR_B_P1 5'b10010 //port 1
+`define OC8051_SFR_B_P2 5'b10100 //port 2
+`define OC8051_SFR_B_P3 5'b10110 //port 3
+`define OC8051_SFR_B_B 5'b11110 // b register
+`define OC8051_SFR_B_IP 5'b10111 // interrupt priority control 0
+`define OC8051_SFR_B_IE 5'b10101 // interrupt enable control 0
+`define OC8051_SFR_B_SCON 5'b10011 // serial control
+`define OC8051_SFR_B_TCON 5'b10001 // timer/counter control
+`define OC8051_SFR_B_T2CON 5'b11001 // timer/counter2 control
+
+
+//
+//carry input in alu
+//
+`define OC8051_CY_0 2'b00 // 1'b0;
+`define OC8051_CY_PSW 2'b01 // carry from psw
+`define OC8051_CY_RAM 2'b10 // carry from ram
+`define OC8051_CY_1 2'b11 // 1'b1;
+`define OC8051_CY_DC 2'b00 // carry from psw
+
+//
+// instruction set
+//
+
+//op_code [4:0]
+`define OC8051_ACALL 8'bxxx1_0001 // absolute call
+`define OC8051_AJMP 8'bxxx0_0001 // absolute jump
+
+//op_code [7:3]
+`define OC8051_ADD_R 8'b0010_1xxx // add A=A+Rx
+`define OC8051_ADDC_R 8'b0011_1xxx // add A=A+Rx+c
+`define OC8051_ANL_R 8'b0101_1xxx // and A=A^Rx
+`define OC8051_CJNE_R 8'b1011_1xxx // compare and jump if not equal; Rx<>constant
+`define OC8051_DEC_R 8'b0001_1xxx // decrement reg Rn=Rn-1
+`define OC8051_DJNZ_R 8'b1101_1xxx // decrement and jump if not zero
+`define OC8051_INC_R 8'b0000_1xxx // increment Rn
+`define OC8051_MOV_R 8'b1110_1xxx // move A=Rn
+`define OC8051_MOV_AR 8'b1111_1xxx // move Rn=A
+`define OC8051_MOV_DR 8'b1010_1xxx // move Rn=(direct)
+`define OC8051_MOV_CR 8'b0111_1xxx // move Rn=constant
+`define OC8051_MOV_RD 8'b1000_1xxx // move (direct)=Rn
+`define OC8051_ORL_R 8'b0100_1xxx // or A=A or Rn
+`define OC8051_SUBB_R 8'b1001_1xxx // substract with borrow A=A-c-Rn
+`define OC8051_XCH_R 8'b1100_1xxx // exchange A<->Rn
+`define OC8051_XRL_R 8'b0110_1xxx // XOR A=A XOR Rn
+
+//op_code [7:1]
+`define OC8051_ADD_I 8'b0010_011x // add A=A+@Ri
+`define OC8051_ADDC_I 8'b0011_011x // add A=A+@Ri+c
+`define OC8051_ANL_I 8'b0101_011x // and A=A^@Ri
+`define OC8051_CJNE_I 8'b1011_011x // compare and jump if not equal; @Ri<>constant
+`define OC8051_DEC_I 8'b0001_011x // decrement indirect @Ri=@Ri-1
+`define OC8051_INC_I 8'b0000_011x // increment @Ri
+`define OC8051_MOV_I 8'b1110_011x // move A=@Ri
+`define OC8051_MOV_ID 8'b1000_011x // move (direct)=@Ri
+`define OC8051_MOV_AI 8'b1111_011x // move @Ri=A
+`define OC8051_MOV_DI 8'b1010_011x // move @Ri=(direct)
+`define OC8051_MOV_CI 8'b0111_011x // move @Ri=constant
+`define OC8051_MOVX_IA 8'b1110_001x // move A=(@Ri)
+`define OC8051_MOVX_AI 8'b1111_001x // move (@Ri)=A
+`define OC8051_ORL_I 8'b0100_011x // or A=A or @Ri
+`define OC8051_SUBB_I 8'b1001_011x // substract with borrow A=A-c-@Ri
+`define OC8051_XCH_I 8'b1100_011x // exchange A<->@Ri
+`define OC8051_XCHD 8'b1101_011x // exchange digit A<->Ri
+`define OC8051_XRL_I 8'b0110_011x // XOR A=A XOR @Ri
+
+//op_code [7:0]
+`define OC8051_ADD_D 8'b0010_0101 // add A=A+(direct)
+`define OC8051_ADD_C 8'b0010_0100 // add A=A+constant
+`define OC8051_ADDC_D 8'b0011_0101 // add A=A+(direct)+c
+`define OC8051_ADDC_C 8'b0011_0100 // add A=A+constant+c
+`define OC8051_ANL_D 8'b0101_0101 // and A=A^(direct)
+`define OC8051_ANL_C 8'b0101_0100 // and A=A^constant
+`define OC8051_ANL_DD 8'b0101_0010 // and (direct)=(direct)^A
+`define OC8051_ANL_DC 8'b0101_0011 // and (direct)=(direct)^constant
+`define OC8051_ANL_B 8'b1000_0010 // and c=c^bit
+`define OC8051_ANL_NB 8'b1011_0000 // and c=c^!bit
+`define OC8051_CJNE_D 8'b1011_0101 // compare and jump if not equal; a<>(direct)
+`define OC8051_CJNE_C 8'b1011_0100 // compare and jump if not equal; a<>constant
+`define OC8051_CLR_A 8'b1110_0100 // clear accumulator
+`define OC8051_CLR_C 8'b1100_0011 // clear carry
+`define OC8051_CLR_B 8'b1100_0010 // clear bit
+`define OC8051_CPL_A 8'b1111_0100 // complement accumulator
+`define OC8051_CPL_C 8'b1011_0011 // complement carry
+`define OC8051_CPL_B 8'b1011_0010 // complement bit
+`define OC8051_DA 8'b1101_0100 // decimal adjust (A)
+`define OC8051_DEC_A 8'b0001_0100 // decrement accumulator a=a-1
+`define OC8051_DEC_D 8'b0001_0101 // decrement direct (direct)=(direct)-1
+`define OC8051_DIV 8'b1000_0100 // divide
+`define OC8051_DJNZ_D 8'b1101_0101 // decrement and jump if not zero (direct)
+`define OC8051_INC_A 8'b0000_0100 // increment accumulator
+`define OC8051_INC_D 8'b0000_0101 // increment (direct)
+`define OC8051_INC_DP 8'b1010_0011 // increment data pointer
+`define OC8051_JB 8'b0010_0000 // jump if bit set
+`define OC8051_JBC 8'b0001_0000 // jump if bit set and clear bit
+`define OC8051_JC 8'b0100_0000 // jump if carry is set
+`define OC8051_JMP_D 8'b0111_0011 // jump indirect
+`define OC8051_JNB 8'b0011_0000 // jump if bit not set
+`define OC8051_JNC 8'b0101_0000 // jump if carry not set
+`define OC8051_JNZ 8'b0111_0000 // jump if accumulator not zero
+`define OC8051_JZ 8'b0110_0000 // jump if accumulator zero
+`define OC8051_LCALL 8'b0001_0010 // long call
+`define OC8051_LJMP 8'b0000_0010 // long jump
+`define OC8051_MOV_D 8'b1110_0101 // move A=(direct)
+`define OC8051_MOV_C 8'b0111_0100 // move A=constant
+`define OC8051_MOV_DA 8'b1111_0101 // move (direct)=A
+`define OC8051_MOV_DD 8'b1000_0101 // move (direct)=(direct)
+`define OC8051_MOV_CD 8'b0111_0101 // move (direct)=constant
+`define OC8051_MOV_BC 8'b1010_0010 // move c=bit
+`define OC8051_MOV_CB 8'b1001_0010 // move bit=c
+`define OC8051_MOV_DP 8'b1001_0000 // move dptr=constant(16 bit)
+`define OC8051_MOVC_DP 8'b1001_0011 // move A=dptr+A
+`define OC8051_MOVC_PC 8'b1000_0011 // move A=pc+A
+`define OC8051_MOVX_PA 8'b1110_0000 // move A=(dptr)
+`define OC8051_MOVX_AP 8'b1111_0000 // move (dptr)=A
+`define OC8051_MUL 8'b1010_0100 // multiply a*b
+`define OC8051_NOP 8'b0000_0000 // no operation
+`define OC8051_ORL_D 8'b0100_0101 // or A=A or (direct)
+`define OC8051_ORL_C 8'b0100_0100 // or A=A or constant
+`define OC8051_ORL_AD 8'b0100_0010 // or (direct)=(direct) or A
+`define OC8051_ORL_CD 8'b0100_0011 // or (direct)=(direct) or constant
+`define OC8051_ORL_B 8'b0111_0010 // or c = c or bit
+`define OC8051_ORL_NB 8'b1010_0000 // or c = c or !bit
+`define OC8051_POP 8'b1101_0000 // stack pop
+`define OC8051_PUSH 8'b1100_0000 // stack push
+`define OC8051_RET 8'b0010_0010 // return from subrutine
+`define OC8051_RETI 8'b0011_0010 // return from interrupt
+`define OC8051_RL 8'b0010_0011 // rotate left
+`define OC8051_RLC 8'b0011_0011 // rotate left thrugh carry
+`define OC8051_RR 8'b0000_0011 // rotate right
+`define OC8051_RRC 8'b0001_0011 // rotate right thrugh carry
+`define OC8051_SETB_C 8'b1101_0011 // set carry
+`define OC8051_SETB_B 8'b1101_0010 // set bit
+`define OC8051_SJMP 8'b1000_0000 // short jump
+`define OC8051_SUBB_D 8'b1001_0101 // substract with borrow A=A-c-(direct)
+`define OC8051_SUBB_C 8'b1001_0100 // substract with borrow A=A-c-constant
+`define OC8051_SWAP 8'b1100_0100 // swap A(0-3) <-> A(4-7)
+`define OC8051_XCH_D 8'b1100_0101 // exchange A<->(direct)
+`define OC8051_XRL_D 8'b0110_0101 // XOR A=A XOR (direct)
+`define OC8051_XRL_C 8'b0110_0100 // XOR A=A XOR constant
+`define OC8051_XRL_AD 8'b0110_0010 // XOR (direct)=(direct) XOR A
+`define OC8051_XRL_CD 8'b0110_0011 // XOR (direct)=(direct) XOR constant
+
+
+//
+// default values (used after reset)
+//
+`define OC8051_RST_PC 23'h0 // program counter
+`define OC8051_RST_ACC 8'h00 // accumulator
+`define OC8051_RST_B 8'h00 // b register
+`define OC8051_RST_PSW 8'h00 // program status word
+`define OC8051_RST_SP 8'b0000_0111 // stack pointer
+`define OC8051_RST_DPH 8'h00 // data pointer (high)
+`define OC8051_RST_DPL 8'h00 // data pointer (low)
+`define OC8051_RST_P0 8'b1111_1111 // port 0
+`define OC8051_RST_P1 8'b1111_1111 // port 1
+`define OC8051_RST_P2 8'b1111_1111 // port 2
+`define OC8051_RST_P3 8'b1111_1111 // port 3
+`define OC8051_RST_IP 8'b0000_0000 // interrupt priority
+`define OC8051_RST_IE 8'b0000_0000 // interrupt enable
+`define OC8051_RST_TMOD 8'b0000_0000 // timer/counter mode control
+`define OC8051_RST_TCON 8'b0000_0000 // timer/counter control
+`define OC8051_RST_TH0 8'b0000_0000 // timer/counter 0 high bits
+`define OC8051_RST_TL0 8'b0000_0000 // timer/counter 0 low bits
+`define OC8051_RST_TH1 8'b0000_0000 // timer/counter 1 high bits
+`define OC8051_RST_TL1 8'b0000_0000 // timer/counter 1 low bits
+`define OC8051_RST_SCON 8'b0000_0000 // serial control
+`define OC8051_RST_SBUF 8'b0000_0000 // serial data buffer
+`define OC8051_RST_PCON 8'b0000_0000 // power control register
+
+
+
+`define OC8051_RST_RCAP2H 8'h00 // timer 2 capture high
+`define OC8051_RST_RCAP2L 8'h00 // timer 2 capture low
+
+`define OC8051_RST_T2CON 8'h00 // timer 2 control register
+`define OC8051_RST_T2MOD 8'h00 // timer 2 mode control
+`define OC8051_RST_TH2 8'h00 // timer 2 high
+`define OC8051_RST_TL2 8'h00 // timer 2 low
+
+
+//
+// alu source 1 select
+//
+`define OC8051_AS1_RAM 3'b000 // RAM
+`define OC8051_AS1_OP1 3'b111 //
+`define OC8051_AS1_OP2 3'b001 //
+`define OC8051_AS1_OP3 3'b010 //
+`define OC8051_AS1_ACC 3'b011 // accumulator
+`define OC8051_AS1_PCH 3'b100 //
+`define OC8051_AS1_PCL 3'b101 //
+`define OC8051_AS1_DC 3'b000 //
+
+//
+// alu source 2 select
+//
+`define OC8051_AS2_RAM 3'b00 // RAM
+`define OC8051_AS2_ACC 3'b01 // accumulator
+`define OC8051_AS2_ZERO 3'b10 // 8'h00
+`define OC8051_AS2_OP2 3'b11 //
+
+`define OC8051_AS2_DC 3'b00 //
+
+//
+// alu source 3 select
+//
+`define OC8051_AS3_DP 1'b0 // data pointer
+`define OC8051_AS3_PC 1'b1 // program clunter
+//`define OC8051_AS3_PCU 3'b101 // program clunter not registered
+`define OC8051_AS3_DC 1'b0 //
+
+
+//
+//write sfr
+//
+`define OC8051_WRS_N 2'b00 //no
+`define OC8051_WRS_ACC1 2'b01 // acc destination 1
+`define OC8051_WRS_ACC2 2'b10 // acc destination 2
+`define OC8051_WRS_DPTR 2'b11 // data pointer
+
+
+//
+// ram read select
+//
+
+`define OC8051_RRS_RN 3'b000 // registers
+`define OC8051_RRS_I 3'b001 // indirect addressing (op2)
+`define OC8051_RRS_D 3'b010 // direct addressing
+`define OC8051_RRS_SP 3'b011 // stack pointer
+
+`define OC8051_RRS_B 3'b100 // b register
+`define OC8051_RRS_DPTR 3'b101 // data pointer
+`define OC8051_RRS_PSW 3'b110 // program status word
+`define OC8051_RRS_ACC 3'b111 // acc
+
+`define OC8051_RRS_DC 3'b000 // don't c
+
+//
+// ram write select
+//
+
+`define OC8051_RWS_RN 3'b000 // registers
+`define OC8051_RWS_D 3'b001 // direct addressing
+`define OC8051_RWS_I 3'b010 // indirect addressing
+`define OC8051_RWS_SP 3'b011 // stack pointer
+`define OC8051_RWS_D3 3'b101 // direct address (op3)
+`define OC8051_RWS_D1 3'b110 // direct address (op1)
+`define OC8051_RWS_B 3'b111 // b register
+`define OC8051_RWS_DC 3'b000 //
+
+//
+// pc in select
+//
+`define OC8051_PIS_DC 3'b000 // dont c
+`define OC8051_PIS_AL 3'b000 // alu low
+`define OC8051_PIS_AH 3'b001 // alu high
+`define OC8051_PIS_SO1 3'b010 // relative address, op1
+`define OC8051_PIS_SO2 3'b011 // relative address, op2
+`define OC8051_PIS_I11 3'b100 // 11 bit immediate
+`define OC8051_PIS_I16 3'b101 // 16 bit immediate
+`define OC8051_PIS_ALU 3'b110 // alu destination {des2, des1}
+
+//
+// compare source select
+//
+`define OC8051_CSS_AZ 2'b00 // eq = accumulator == zero
+`define OC8051_CSS_DES 2'b01 // eq = destination == zero
+`define OC8051_CSS_CY 2'b10 // eq = cy
+`define OC8051_CSS_BIT 2'b11 // eq = b_in
+`define OC8051_CSS_DC 2'b01 // don't care
+
+
+//
+// pc Write
+//
+`define OC8051_PCW_N 1'b0 // not
+`define OC8051_PCW_Y 1'b1 // yes
+
+//
+//psw set
+//
+`define OC8051_PS_NOT 2'b00 // DONT
+`define OC8051_PS_CY 2'b01 // only carry
+`define OC8051_PS_OV 2'b10 // carry and overflov
+`define OC8051_PS_AC 2'b11 // carry, overflov an ac...
+
+//
+// rom address select
+//
+`define OC8051_RAS_PC 1'b0 // program counter
+`define OC8051_RAS_DES 1'b1 // alu destination
+
+////
+//// write accumulator
+////
+//`define OC8051_WA_N 1'b0 // not
+//`define OC8051_WA_Y 1'b1 // yes
+
+
+//
+//memory action select
+//
+`define OC8051_MAS_DPTR_R 3'b000 // read from external rom: acc=(dptr)
+`define OC8051_MAS_DPTR_W 3'b001 // write to external rom: (dptr)=acc
+`define OC8051_MAS_RI_R 3'b010 // read from external rom: acc=(Ri)
+`define OC8051_MAS_RI_W 3'b011 // write to external rom: (Ri)=acc
+`define OC8051_MAS_CODE 3'b100 // read from program memory
+`define OC8051_MAS_NO 3'b111 // no action
+
+
+////////////////////////////////////////////////////
+
+//
+// Timer/Counter modes
+//
+
+`define OC8051_MODE0 2'b00 // mode 0
+`define OC8051_MODE1 2'b01 // mode 0
+`define OC8051_MODE2 2'b10 // mode 0
+`define OC8051_MODE3 2'b11 // mode 0
+
+
+//
+// Interrupt numbers (vectors)
+//
+
+`define OC8051_INT_X0 8'h03 // external interrupt 0
+`define OC8051_INT_T0 8'h0b // T/C 0 owerflow interrupt
+`define OC8051_INT_X1 8'h13 // external interrupt 1
+`define OC8051_INT_T1 8'h1b // T/C 1 owerflow interrupt
+`define OC8051_INT_UART 8'h23 // uart interrupt
+`define OC8051_INT_T2 8'h2b // T/C 2 owerflow interrupt
+
+
+//
+// interrupt levels
+//
+
+`define OC8051_ILEV_L0 1'b0 // interrupt on level 0
+`define OC8051_ILEV_L1 1'b1 // interrupt on level 1
+
+//
+// interrupt sources
+//
+`define OC8051_ISRC_NO 3'b000 // no interrupts
+`define OC8051_ISRC_IE0 3'b001 // EXTERNAL INTERRUPT 0
+`define OC8051_ISRC_TF0 3'b010 // t/c owerflov 0
+`define OC8051_ISRC_IE1 3'b011 // EXTERNAL INTERRUPT 1
+`define OC8051_ISRC_TF1 3'b100 // t/c owerflov 1
+`define OC8051_ISRC_UART 3'b101 // UART Interrupt
+`define OC8051_ISRC_T2 3'b110 // t/c owerflov 2
+
+
+
+//
+// miscellaneus
+//
+
+`define OC8051_RW0 1'b1
+`define OC8051_RW1 1'b0
+
+
+//
+// read modify write instruction
+//
+
+`define OC8051_RMW_Y 1'b1 // yes
+`define OC8051_RMW_N 1'b0 // no
+
rtl_sim/run/oc8051_defines.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: rtl_sim/run/internal.do
===================================================================
--- rtl_sim/run/internal.do (nonexistent)
+++ rtl_sim/run/internal.do (revision 186)
@@ -0,0 +1,319 @@
+// Signalscan Version 6.7p1
+
+
+define noactivityindicator
+define analog waveform lines
+define add variable default overlay off
+define waveform window analogheight 1
+define terminal automatic
+define buttons control \
+ 1 opensimmulationfile \
+ 2 executedofile \
+ 3 designbrowser \
+ 4 waveform \
+ 5 source \
+ 6 breakpoints \
+ 7 definesourcessearchpath \
+ 8 exit \
+ 9 createbreakpoint \
+ 10 creategroup \
+ 11 createmarker \
+ 12 closesimmulationfile \
+ 13 renamesimmulationfile \
+ 14 replacesimulationfiledata \
+ 15 listopensimmulationfiles \
+ 16 savedofile
+define buttons waveform \
+ 1 undo \
+ 2 cut \
+ 3 copy \
+ 4 paste \
+ 5 delete \
+ 6 zoomin \
+ 7 zoomout \
+ 8 zoomoutfull \
+ 9 expand \
+ 10 createmarker \
+ 11 designbrowser:1 \
+ 12 variableradixbinary \
+ 13 variableradixoctal \
+ 14 variableradixdecimal \
+ 15 variableradixhexadecimal \
+ 16 variableradixascii
+define buttons designbrowser \
+ 1 undo \
+ 2 cut \
+ 3 copy \
+ 4 paste \
+ 5 delete \
+ 6 cdupscope \
+ 7 getallvariables \
+ 8 getdeepallvariables \
+ 9 addvariables \
+ 10 addvarsandclosewindow \
+ 11 closewindow \
+ 12 scopefiltermodule \
+ 13 scopefiltertask \
+ 14 scopefilterfunction \
+ 15 scopefilterblock \
+ 16 scopefilterprimitive
+define buttons event \
+ 1 undo \
+ 2 cut \
+ 3 copy \
+ 4 paste \
+ 5 delete \
+ 6 move \
+ 7 closewindow \
+ 8 duplicate \
+ 9 defineasrisingedge \
+ 10 defineasfallingedge \
+ 11 defineasanyedge \
+ 12 variableradixbinary \
+ 13 variableradixoctal \
+ 14 variableradixdecimal \
+ 15 variableradixhexadecimal \
+ 16 variableradixascii
+define buttons source \
+ 1 undo \
+ 2 cut \
+ 3 copy \
+ 4 paste \
+ 5 delete \
+ 6 createbreakpoint \
+ 7 creategroup \
+ 8 createmarker \
+ 9 createevent \
+ 10 createregisterpage \
+ 11 closewindow \
+ 12 opensimmulationfile \
+ 13 closesimmulationfile \
+ 14 renamesimmulationfile \
+ 15 replacesimulationfiledata \
+ 16 listopensimmulationfiles
+define buttons register \
+ 1 undo \
+ 2 cut \
+ 3 copy \
+ 4 paste \
+ 5 delete \
+ 6 createregisterpage \
+ 7 closewindow \
+ 8 continuefor \
+ 9 continueuntil \
+ 10 continueforever \
+ 11 stop \
+ 12 previous \
+ 13 next \
+ 14 variableradixbinary \
+ 15 variableradixhexadecimal \
+ 16 variableradixascii
+define show related transactions
+define exit prompt
+define event search direction forward
+define variable nofullhierarchy
+define variable nofilenames
+define variable nofullpathfilenames
+include bookmark with filenames
+include scope history without filenames
+define waveform window listpane 10.99
+define waveform window namepane 12.96
+define multivalueindication
+define pattern curpos dot
+define pattern cursor1 dot
+define pattern cursor2 dot
+define pattern marker dot
+define print designer "Simon Teran"
+define print border
+define print color blackonwhite
+define print command "/usr/ucb/lpr -P%P"
+define print printer lp
+define print range visible
+define print variable visible
+define rise fall time low threshold percentage 10
+define rise fall time high threshold percentage 90
+define rise fall time low value 0
+define rise fall time high value 3.3
+define sendmail command "/usr/lib/sendmail"
+define sequence time width 30.00
+define snap
+
+define source noprompt
+define time units default
+define userdefinedbussymbol
+define user guide directory "/usr/local/designacc/signalscan-6.7p1/doc/html"
+define waveform window grid off
+define waveform window waveheight 14
+define waveform window wavespace 6
+define web browser command netscape
+define zoom outfull on initial add off
+add group \
+ oc8051_tb \
+ oc8051_tb.rst \
+ oc8051_tb.clk \
+
+add group \
+ oc8051_top \
+ oc8051_tb.oc8051_top_1.op1_n[7:0]'h \
+ oc8051_tb.oc8051_top_1.op2_n[7:0]'h \
+ oc8051_tb.oc8051_top_1.op3_n[7:0]'h \
+
+add group \
+ "cpu to cache" \
+ oc8051_tb.oc8051_top_1.iack_i \
+ oc8051_tb.oc8051_top_1.iadr_o[15:0]'h \
+ oc8051_tb.oc8051_top_1.icyc_o \
+ oc8051_tb.oc8051_top_1.idat_i[31:0]'h \
+ oc8051_tb.oc8051_top_1.istb_o \
+
+add group \
+ xrom \
+ oc8051_tb.oc8051_top_1.wbi_adr_o[15:0]'h \
+ oc8051_tb.oc8051_top_1.wbi_ack_i \
+ oc8051_tb.oc8051_top_1.wbi_cyc_o \
+ oc8051_tb.oc8051_top_1.wbi_dat_i[31:0]'h \
+ oc8051_tb.oc8051_top_1.wbi_err_i \
+ oc8051_tb.oc8051_top_1.wbi_stb_o \
+
+add group \
+ rom \
+ oc8051_tb.oc8051_top_1.oc8051_rom1.addr[15:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_rom1.data1[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_rom1.data2[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_rom1.data3[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_rom1.ea_int \
+
+add group \
+ decoder \
+ oc8051_tb.oc8051_top_1.oc8051_decoder1.op_cur[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_decoder1.state[1:0]'h \
+
+add group \
+ "sfr's" \
+ oc8051_tb.oc8051_top_1.wait_data \
+ oc8051_tb.oc8051_top_1.wr_sfr[1:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.sp[7:0]'h \
+ oc8051_tb.oc8051_top_1.acc[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.psw[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.b_reg[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.p0_out[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.p1_out[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.p2_out[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.p3_out[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.dptr_hi[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.dptr_lo[7:0]'h \
+
+add group \
+ pc \
+ oc8051_tb.oc8051_top_1.pc_wr \
+ oc8051_tb.oc8051_top_1.wr_sfr[1:0]'h \
+ oc8051_tb.oc8051_top_1.comp_wait \
+
+add group \
+ ram \
+ oc8051_tb.oc8051_top_1.ram_rd_sel[2:0]'h \
+ oc8051_tb.oc8051_top_1.ram_wr_sel[2:0]'h \
+ oc8051_tb.oc8051_top_1.ram_out[7:0]'h \
+ oc8051_tb.oc8051_top_1.rd_addr[7:0]'h \
+ oc8051_tb.oc8051_top_1.wr_o \
+ oc8051_tb.oc8051_top_1.wr_addr[7:0]'h \
+ oc8051_tb.oc8051_top_1.wr_dat[7:0]'h \
+
+add group \
+ comp \
+ oc8051_tb.oc8051_top_1.oc8051_comp1.acc[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_comp1.b_in \
+ oc8051_tb.oc8051_top_1.oc8051_comp1.cy \
+ oc8051_tb.oc8051_top_1.oc8051_comp1.des[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_comp1.eq \
+ oc8051_tb.oc8051_top_1.oc8051_comp1.eq_r \
+ oc8051_tb.oc8051_top_1.oc8051_comp1.sel[1:0]'h \
+
+add group \
+ xram \
+ oc8051_tb.oc8051_top_1.wbd_ack_i \
+ oc8051_tb.oc8051_top_1.wbd_adr_o[15:0]'h \
+ oc8051_tb.oc8051_top_1.wbd_cyc_o \
+ oc8051_tb.oc8051_top_1.wbd_dat_i[7:0]'h \
+ oc8051_tb.oc8051_top_1.wbd_dat_o[7:0]'h \
+ oc8051_tb.oc8051_top_1.wbd_err_i \
+ oc8051_tb.oc8051_top_1.wbd_stb_o \
+ oc8051_tb.oc8051_top_1.wbd_we_o \
+
+add group \
+ alu \
+ oc8051_tb.oc8051_top_1.oc8051_alu1.src1[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_alu1.src2[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_alu1.src3[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_alu1.des1[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_alu1.des2[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_alu1.op_code[3:0]'h \
+
+add group \
+ "t/c 0,1" \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.tmod[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.tr0 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.th0[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.tl0[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.tf0 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.tr1 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.th1[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.tl1[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.tf1 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc1.pres_ow \
+
+add group \
+ "t/c 2" \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.t2con[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.rcap2h[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.rcap2l[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.th2[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.tl2[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.tr2 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.tf2 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.run \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.t2 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.ct2 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.exf2 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.exen2 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_tc21.t2ex \
+
+add group \
+ uart \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.scon[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.pcon[7:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.pres_ow \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.brate2 \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.t1_ow \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.receive \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.rxd \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.sbuf_rxd_tmp[11:0]'h \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.shift_re \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.rx_done \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.trans \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.txd \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.sc_clk_tr \
+ oc8051_tb.oc8051_top_1.oc8051_sfr1.oc8051_uatr1.tx_done \
+
+add group \
+ "uart test" \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.pres_ow \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.brate2 \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.t1_ow \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.receive \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.sbuf_rxd_tmp[11:0]'h \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.rx_done \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.trans \
+ oc8051_tb.oc8051_uart_test1.oc8051_uart_test.tx_done \
+
+
+deselect all
+create event iadr \
+ oc8051_tb.oc8051_top_1.iadr_o[15:0]'h \
+ "0414" \
+
+
+open window designbrowser 1 geometry 284 163 972 884
+open window waveform 1 geometry 10 59 1592 1094
+zoom at 826129.62(0)ns 0.00861944 0.00000000
+open window event 1 geometry 1056 469 546 335
Index: rtl_sim/run/make_verilog
===================================================================
--- rtl_sim/run/make_verilog (nonexistent)
+++ rtl_sim/run/make_verilog (revision 186)
@@ -0,0 +1,32 @@
+verilog \
+../../../bench/verilog/oc8051_tb.v \
+../../../bench/verilog/oc8051_xram.v \
+../../../bench/verilog/oc8051_uart_test.v \
+../../../bench/verilog/oc8051_xrom.v \
+../../../rtl/verilog/oc8051_top.v \
+../../../rtl/verilog/oc8051_alu_src_sel.v \
+../../../rtl/verilog/oc8051_alu.v \
+../../../rtl/verilog/oc8051_decoder.v \
+../../../rtl/verilog/oc8051_divide.v \
+../../../rtl/verilog/oc8051_multiply.v \
+../../../rtl/verilog/oc8051_memory_interface.v \
+../../../rtl/verilog/oc8051_ram_top.v \
+../../../rtl/verilog/oc8051_acc.v \
+../../../rtl/verilog/oc8051_comp.v \
+../../../rtl/verilog/oc8051_sp.v \
+../../../rtl/verilog/oc8051_dptr.v \
+../../../rtl/verilog/oc8051_cy_select.v \
+../../../rtl/verilog/oc8051_psw.v \
+../../../rtl/verilog/oc8051_indi_addr.v \
+../../../rtl/verilog/oc8051_ports.v \
+../../../rtl/verilog/oc8051_b_register.v \
+../../../rtl/verilog/oc8051_uart.v \
+../../../rtl/verilog/oc8051_int.v \
+../../../rtl/verilog/oc8051_tc.v \
+../../../rtl/verilog/oc8051_tc2.v \
+../../../rtl/verilog/oc8051_icache.v \
+../../../rtl/verilog/oc8051_wb_iinterface.v \
+../../../rtl/verilog/oc8051_sfr.v \
+../../../rtl/verilog/oc8051_rom.v \
+../../../rtl/verilog/oc8051_cache_ram.v \
+../../../../common/generic_memories/rtl/verilog/generic_dpram.v
rtl_sim/run/make_verilog
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: rtl_sim/run/verilog.log
===================================================================
--- rtl_sim/run/verilog.log (nonexistent)
+++ rtl_sim/run/verilog.log (revision 186)
@@ -0,0 +1,295 @@
+Host command: /shared/tools/ncsim/tools/verilog/bin/verilog.exe
+Command arguments:
+ ../../../bench/verilog/oc8051_tb.v
+ ../../../rtl/verilog/oc8051_top.v
+ ../../../rtl/verilog/oc8051_alu_src1_sel.v
+ ../../../rtl/verilog/oc8051_alu_src2_sel.v
+ ../../../rtl/verilog/oc8051_alu_src3_sel.v
+ ../../../rtl/verilog/oc8051_alu.v
+ ../../../rtl/verilog/oc8051_decoder.v
+ ../../../rtl/verilog/oc8051_divide.v
+ ../../../rtl/verilog/oc8051_immediate_sel.v
+ ../../../rtl/verilog/oc8051_multiply.v
+ ../../../rtl/verilog/oc8051_op_select.v
+ ../../../rtl/verilog/oc8051_pc.v
+ ../../../rtl/verilog/oc8051_reg8.v
+ ../../../rtl/verilog/oc8051_reg2.v
+ ../../../rtl/verilog/oc8051_reg1.v
+ ../../../rtl/verilog/oc8051_reg4.v
+ ../../../rtl/verilog/oc8051_ram_wr_sel.v
+ ../../../rtl/verilog/oc8051_ram_rd_sel.v
+ ../../../rtl/verilog/oc8051_ram_top.v
+ ../../../sim/rtl_sim/src/verilog/oc8051_ram.v
+ ../../../sim/rtl_sim/src/verilog/oc8051_xram.v
+ ../../../rtl/verilog/oc8051_acc.v
+ ../../../rtl/verilog/oc8051_comp.v
+ ../../../rtl/verilog/oc8051_sp.v
+ ../../../sim/rtl_sim/src/verilog/oc8051_uart_test.v
+ ../../../sim/rtl_sim/src/verilog/oc8051_rom.v
+ ../../../rtl/verilog/oc8051_dptr.v
+ ../../../rtl/verilog/oc8051_cy_select.v
+ ../../../rtl/verilog/oc8051_psw.v
+ ../../../rtl/verilog/oc8051_indi_addr.v
+ ../../../rtl/verilog/oc8051_rom_addr_sel.v
+ ../../../rtl/verilog/oc8051_ext_addr_sel.v
+ ../../../rtl/verilog/oc8051_reg3.v
+ ../../../rtl/verilog/oc8051_ram_sel.v
+ ../../../rtl/verilog/oc8051_ports.v
+ ../../../rtl/verilog/oc8051_b_register.v
+ ../../../rtl/verilog/oc8051_uart.v
+ ../../../rtl/verilog/oc8051_int.v
+ ../../../rtl/verilog/oc8051_tc.v
+
+VERILOG-XL 3.30.p001 log file created Aug 3, 2001 12:27:17
+VERILOG-XL 3.30.p001 Aug 3, 2001 12:27:17
+
+Copyright (c) 1995 Cadence Design Systems, Inc. All Rights Reserved.
+Unpublished -- rights reserved under the copyright laws of the United States.
+
+Copyright (c) 1995 UNIX Systems Laboratories, Inc. Reproduced with Permission.
+
+THIS SOFTWARE AND ON-LINE DOCUMENTATION CONTAIN CONFIDENTIAL INFORMATION
+AND TRADE SECRETS OF CADENCE DESIGN SYSTEMS, INC. USE, DISCLOSURE, OR
+REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF
+CADENCE DESIGN SYSTEMS, INC.
+RESTRICTED RIGHTS LEGEND
+
+Use, duplication, or disclosure by the Government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 or
+subparagraphs (c)(1) and (2) of Commercial Computer Software -- Restricted
+Rights at 48 CFR 52.227-19, as applicable.
+
+ Cadence Design Systems, Inc.
+ 555 River Oaks Parkway
+ San Jose, California 95134
+
+For technical assistance please contact the Cadence Response Center at
+1-877-CDS-4911 or send email to support@cadence.com
+
+For more information on Cadence's Verilog-XL product line send email to
+talkv@cadence.com
+
+Compiling source file "../../../bench/verilog/oc8051_tb.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../bench/verilog/oc8051_tb.v"
+Compiling source file "../../../rtl/verilog/oc8051_top.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_top.v"
+Compiling source file "../../../rtl/verilog/oc8051_alu_src1_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_alu_src1_sel.v",
+ 48:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_alu_src1_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_alu_src1_sel.v",
+ 51:
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_alu_src1_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_alu_src2_sel.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_alu_src2_sel.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_alu_src2_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_alu_src3_sel.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_alu_src3_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_alu.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_alu.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_alu.v"
+Compiling source file "../../../rtl/verilog/oc8051_decoder.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_decoder.v", 49:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_decoder.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_decoder.v", 52:
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_decoder.v"
+Compiling source file "../../../rtl/verilog/oc8051_divide.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_divide.v", 51:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_divide.v"
+Compiling source file "../../../rtl/verilog/oc8051_immediate_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_immediate_sel.v",
+ 49:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_immediate_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_immediate_sel.v",
+ 52:
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_immediate_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_multiply.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_multiply.v", 56:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_multiply.v"
+Compiling source file "../../../rtl/verilog/oc8051_op_select.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_op_select.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_op_select.v"
+Compiling source file "../../../rtl/verilog/oc8051_pc.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_pc.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_pc.v"
+Compiling source file "../../../rtl/verilog/oc8051_reg8.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_reg8.v", 48:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_reg8.v"
+Compiling source file "../../../rtl/verilog/oc8051_reg2.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_reg2.v"
+Compiling source file "../../../rtl/verilog/oc8051_reg1.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_reg1.v"
+Compiling source file "../../../rtl/verilog/oc8051_reg4.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_reg4.v"
+Compiling source file "../../../rtl/verilog/oc8051_ram_wr_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_ram_wr_sel.v", 48:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_wr_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_ram_wr_sel.v", 51:
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_wr_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_ram_rd_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_ram_rd_sel.v", 48:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_rd_sel.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_ram_rd_sel.v", 51:
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_rd_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_ram_top.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_top.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_top.v"
+Compiling source file "../../../sim/rtl_sim/src/verilog/oc8051_ram.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../sim/rtl_sim/src/verilog/oc8051_ram.v"
+Compiling source file "../../../sim/rtl_sim/src/verilog/oc8051_xram.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../sim/rtl_sim/src/verilog/oc8051_xram.v"
+Compiling source file "../../../rtl/verilog/oc8051_acc.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_acc.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_acc.v"
+Compiling source file "../../../rtl/verilog/oc8051_comp.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_comp.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_comp.v"
+Compiling source file "../../../rtl/verilog/oc8051_sp.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_sp.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_sp.v"
+Compiling source file "../../../sim/rtl_sim/src/verilog/oc8051_uart_test.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../sim/rtl_sim/src/verilog/oc8051_uart_test.v"
+Compiling source file "../../../sim/rtl_sim/src/verilog/oc8051_rom.v"
+Compiling source file "../../../rtl/verilog/oc8051_dptr.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_dptr.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_dptr.v"
+Compiling source file "../../../rtl/verilog/oc8051_cy_select.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_cy_select.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_cy_select.v"
+Compiling source file "../../../rtl/verilog/oc8051_psw.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_psw.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_psw.v"
+Compiling source file "../../../rtl/verilog/oc8051_indi_addr.v"
+
+Warning! Code following `include command is ignored [Verilog-CAICI]
+ "../../../rtl/verilog/oc8051_indi_addr.v", 49:
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_indi_addr.v"
+Compiling source file "../../../rtl/verilog/oc8051_rom_addr_sel.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_rom_addr_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_ext_addr_sel.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ext_addr_sel.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ext_addr_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_reg3.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_reg3.v"
+Compiling source file "../../../rtl/verilog/oc8051_ram_sel.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_sel.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ram_sel.v"
+Compiling source file "../../../rtl/verilog/oc8051_ports.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ports.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_ports.v"
+Compiling source file "../../../rtl/verilog/oc8051_b_register.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_b_register.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_b_register.v"
+Compiling source file "../../../rtl/verilog/oc8051_uart.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_uart.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_uart.v"
+Compiling source file "../../../rtl/verilog/oc8051_int.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_int.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_int.v"
+Compiling source file "../../../rtl/verilog/oc8051_tc.v"
+Compiling included source file "oc8051_defines.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_tc.v"
+Compiling included source file "oc8051_timescale.v"
+Continuing compilation of source file "../../../rtl/verilog/oc8051_tc.v"
+Highest level modules:
+oc8051_tb
+
+time 1 step 0: pass
+time 186 step 1: pass
+time 306 step 2: pass
+time 426 step 3: pass
+time 546 step 4: pass
+time 656 step 5: pass
+
+ Done!
+L155 "../../../bench/verilog/oc8051_tb.v": $finish at simulation time 65600
+14 warnings
+0 simulation events (use +profile or +listcounts option to count)
+CPU time: 0.3 secs to compile + 0.1 secs to link + 0.1 secs in simulation
+End of VERILOG-XL 3.30.p001 Aug 3, 2001 12:27:19
Index: rtl_sim/run/oc8051_timescale.v
===================================================================
--- rtl_sim/run/oc8051_timescale.v (nonexistent)
+++ rtl_sim/run/oc8051_timescale.v (revision 186)
@@ -0,0 +1,3 @@
+
+
+`timescale 1ns/10ps
rtl_sim/run/oc8051_timescale.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: rtl_sim/run/make_fpga
===================================================================
--- rtl_sim/run/make_fpga (nonexistent)
+++ rtl_sim/run/make_fpga (revision 186)
@@ -0,0 +1 @@
+verilog ../../../syn/src/verilog/oc8051_fpga_top.v ../../../bench/verilog/oc8051_fpga_tb.v ../../../rtl/verilog/oc8051_top.v ../../../rtl/verilog/oc8051_alu_src1_sel.v ../../../rtl/verilog/oc8051_alu_src2_sel.v ../../../rtl/verilog/oc8051_alu_src3_sel.v ../../../rtl/verilog/oc8051_alu.v ../../../rtl/verilog/oc8051_decoder.v ../../../rtl/verilog/oc8051_divide.v ../../../rtl/verilog/oc8051_immediate_sel.v ../../../rtl/verilog/oc8051_multiply.v ../../../rtl/verilog/oc8051_op_select.v ../../../rtl/verilog/oc8051_pc.v ../../../rtl/verilog/oc8051_reg8.v ../../../rtl/verilog/oc8051_reg2.v ../../../rtl/verilog/oc8051_reg1.v ../../../rtl/verilog/oc8051_reg4.v ../../../rtl/verilog/oc8051_ram_wr_sel.v ../../../rtl/verilog/oc8051_ram_rd_sel.v ../../../rtl/verilog/oc8051_ram_top.v ../../../sim/rtl_sim/src/verilog/oc8051_ram.v ../../../rtl/verilog/oc8051_acc.v ../../../rtl/verilog/oc8051_comp.v ../../../rtl/verilog/oc8051_sp.v ../../../sim/rtl_sim/src/verilog/oc8051_rom.v ../../../rtl/verilog/oc8051_dptr.v ../../../rtl/verilog/oc8051_cy_select.v ../../../rtl/verilog/oc8051_psw.v ../../../rtl/verilog/oc8051_indi_addr.v ../../../rtl/verilog/oc8051_reg5.v ../../../rtl/verilog/oc8051_rom_addr_sel.v ../../../rtl/verilog/oc8051_ext_addr_sel.v ../../../rtl/verilog/oc8051_reg3.v ../../../rtl/verilog/oc8051_ram_sel.v ../../../rtl/verilog/oc8051_ports.v ../../../syn/src/verilog/disp.v
rtl_sim/run/make_fpga
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: rtl_sim/log/ncelab.log
===================================================================
--- rtl_sim/log/ncelab.log (nonexistent)
+++ rtl_sim/log/ncelab.log (revision 186)
@@ -0,0 +1,91 @@
+TOOL: ncelab 04.10-b001: Started on May 29, 2003 at 15:15:53
+ncelab
+ -f ncelab.args
+ -MESSAGES
+ -NOCOPYRIGHT
+ -CDSLIB ../bin/cds.lib
+ -HDLVAR ../bin/hdl.var
+ -LOGFILE ../log/ncelab.log
+ -SNAPSHOT worklib.bench:rtl
+ -NO_TCHK_MSG
+ -ACCESS +RWC
+ worklib.oc8051_tb
+
+ Elaborating the design hierarchy:
+ Caching library 'worklib' ....... Done
+ Building instance overlay tables: .................... Done
+ Generating native compiled code:
+ worklib.generic_dpram:v <0x0d189c4e>
+ streams: 5, words: 2853
+ worklib.oc8051_acc:v <0x42025906>
+ streams: 9, words: 7468
+ worklib.oc8051_alu:v <0x153fe0a0>
+ streams: 18, words: 31765
+ worklib.oc8051_alu_src_sel:v <0x1cfcd9ef>
+ streams: 6, words: 6066
+ worklib.oc8051_b_register:v <0x7e2da7e0>
+ streams: 4, words: 3480
+ worklib.oc8051_comp:v <0x1b124a65>
+ streams: 1, words: 1402
+ worklib.oc8051_cy_select:v <0x017504b8>
+ streams: 1, words: 1052
+ worklib.oc8051_decoder:v <0x1cf48ebe>
+ streams: 158, words: 308070
+ worklib.oc8051_divide:v <0x3689e128>
+ streams: 18, words: 8032
+ worklib.oc8051_dptr:v <0x76514cb4>
+ streams: 7, words: 6274
+ worklib.oc8051_indi_addr:v <0x133e424a>
+ streams: 21, words: 18542
+ worklib.oc8051_int:v <0x005905c7>
+ streams: 101, words: 85572
+ worklib.oc8051_memory_interface:v <0x4a5d1c3c>
+ streams: 116, words: 98793
+ worklib.oc8051_multiply:v <0x7b824821>
+ streams: 10, words: 6078
+ worklib.oc8051_ports:v <0x41951f9e>
+ streams: 17, words: 15207
+ worklib.oc8051_psw:v <0x572695b1>
+ streams: 13, words: 11026
+ worklib.oc8051_ram_top:v <0x3946aa7b>
+ streams: 11, words: 8541
+ worklib.oc8051_rom:v <0x7361036b>
+ streams: 7, words: 4040
+ worklib.oc8051_serial:v <0x01907758>
+ streams: 35, words: 28288
+ worklib.oc8051_sfr:v <0x503295ba>
+ streams: 65, words: 60730
+ worklib.oc8051_sp:v <0x043a682d>
+ streams: 12, words: 7854
+ worklib.oc8051_tb:v <0x6e27a095>
+ streams: 20, words: 11937
+ worklib.oc8051_tc2:v <0x014e0196>
+ streams: 45, words: 37958
+ worklib.oc8051_tc:v <0x4ce5fd3a>
+ streams: 32, words: 27944
+ worklib.oc8051_top:v <0x2a56d675>
+ streams: 7, words: 1852
+ worklib.oc8051_uart:v <0x5d6b0338>
+ streams: 76, words: 62075
+ worklib.oc8051_wb_iinterface:v <0x1fe9cb07>
+ streams: 6, words: 3810
+ worklib.oc8051_xram:v <0x61d669be>
+ streams: 17, words: 12371
+ worklib.oc8051_xrom:v <0x4289cabd>
+ streams: 12, words: 8786
+ Loading native compiled code: .................... Done
+ Building instance specific data structures.
+ Design hierarchy summary:
+ Instances Unique
+ Modules: 29 29
+ Registers: 224 224
+ Scalar wires: 126 -
+ Expanded wires: 3 1
+ Vectored wires: 150 -
+ Always blocks: 106 106
+ Initial blocks: 9 9
+ Cont. assignments: 110 150
+ Pseudo assignments: 19 19
+ Simulation timescale: 10ps
+ Writing initial simulation snapshot: worklib.bench:rtl
+TOOL: ncelab 04.10-b001: Exiting on May 29, 2003 at 15:15:55 (total: 00:00:02)
Index: rtl_sim/log/ncvlog.log
===================================================================
--- rtl_sim/log/ncvlog.log (nonexistent)
+++ rtl_sim/log/ncvlog.log (revision 186)
@@ -0,0 +1,156 @@
+TOOL: ncvlog 04.10-b001: Started on May 29, 2003 at 15:15:52
+ncvlog
+ -f ncvlog.args
+ -CDSLIB ../bin/cds.lib
+ -HDLVAR ../bin/hdl.var
+ -MESSAGES
+ -INCDIR ../../../bench/verilog
+ -INCDIR ../../../rtl/verilog
+ -NOCOPYRIGHT
+ -LOGFILE ../log/ncvlog.log
+ ../../../bench/verilog/oc8051_tb.v
+ ../../../bench/verilog/oc8051_xram.v
+ ../../../bench/verilog/oc8051_uart_test.v
+ ../../../bench/verilog/oc8051_serial.v
+ ../../../bench/verilog/oc8051_xrom.v
+ ../../../rtl/verilog/oc8051_top.v
+ ../../../rtl/verilog/oc8051_alu_src_sel.v
+ ../../../rtl/verilog/oc8051_alu.v
+ ../../../rtl/verilog/oc8051_decoder.v
+ ../../../rtl/verilog/oc8051_divide.v
+ ../../../rtl/verilog/oc8051_multiply.v
+ ../../../rtl/verilog/oc8051_memory_interface.v
+ ../../../rtl/verilog/oc8051_ram_top.v
+ ../../../rtl/verilog/oc8051_acc.v
+ ../../../rtl/verilog/oc8051_comp.v
+ ../../../rtl/verilog/oc8051_sp.v
+ ../../../rtl/verilog/oc8051_dptr.v
+ ../../../rtl/verilog/oc8051_cy_select.v
+ ../../../rtl/verilog/oc8051_psw.v
+ ../../../rtl/verilog/oc8051_indi_addr.v
+ ../../../rtl/verilog/oc8051_ports.v
+ ../../../rtl/verilog/oc8051_b_register.v
+ ../../../rtl/verilog/oc8051_uart.v
+ ../../../rtl/verilog/oc8051_int.v
+ ../../../rtl/verilog/oc8051_tc.v
+ ../../../rtl/verilog/oc8051_tc2.v
+ ../../../rtl/verilog/oc8051_icache.v
+ ../../../rtl/verilog/oc8051_wb_iinterface.v
+ ../../../rtl/verilog/oc8051_sfr.v
+ ../../../rtl/verilog/oc8051_rom.v
+ ../../../rtl/verilog/oc8051_cache_ram.v
+ ../../../asm/testall.v
+ ../../../../libs/xilinx/RAMB4_S1.v
+ ../../../../rom_8kx16/rtl/verilog/rom_8kx16.v
+ ../../../../rom_8kx16/rtl/verilog/rom_8kx16_top.v
+ ../../../../common/generic_memories/rtl/verilog/generic_dpram.v
+
+file: ../../../bench/verilog/oc8051_tb.v
+ module worklib.oc8051_tb:v
+ errors: 0, warnings: 0
+file: ../../../bench/verilog/oc8051_xram.v
+ module worklib.oc8051_xram:v
+ errors: 0, warnings: 0
+file: ../../../bench/verilog/oc8051_uart_test.v
+ module worklib.oc8051_uart_test:v
+ errors: 0, warnings: 0
+file: ../../../bench/verilog/oc8051_serial.v
+ module worklib.oc8051_serial:v
+ errors: 0, warnings: 0
+file: ../../../bench/verilog/oc8051_xrom.v
+ module worklib.oc8051_xrom:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_top.v
+ module worklib.oc8051_top:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_alu_src_sel.v
+ module worklib.oc8051_alu_src_sel:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_alu.v
+ module worklib.oc8051_alu:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_decoder.v
+ module worklib.oc8051_decoder:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_divide.v
+ module worklib.oc8051_divide:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_multiply.v
+ module worklib.oc8051_multiply:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_memory_interface.v
+ module worklib.oc8051_memory_interface:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_ram_top.v
+ module worklib.oc8051_ram_top:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_acc.v
+ module worklib.oc8051_acc:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_comp.v
+ module worklib.oc8051_comp:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_sp.v
+ module worklib.oc8051_sp:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_dptr.v
+ module worklib.oc8051_dptr:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_cy_select.v
+ module worklib.oc8051_cy_select:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_psw.v
+ module worklib.oc8051_psw:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_indi_addr.v
+ module worklib.oc8051_indi_addr:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_ports.v
+ module worklib.oc8051_ports:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_b_register.v
+ module worklib.oc8051_b_register:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_uart.v
+ module worklib.oc8051_uart:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_int.v
+ module worklib.oc8051_int:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_tc.v
+ module worklib.oc8051_tc:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_tc2.v
+ module worklib.oc8051_tc2:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_icache.v
+ module worklib.oc8051_icache:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_wb_iinterface.v
+ module worklib.oc8051_wb_iinterface:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_sfr.v
+ module worklib.oc8051_sfr:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_rom.v
+ module worklib.oc8051_rom:v
+ errors: 0, warnings: 0
+file: ../../../rtl/verilog/oc8051_cache_ram.v
+ module worklib.oc8051_cache_ram:v
+ errors: 0, warnings: 0
+ncvlog: *E,COFILE: cannot open source file '../../../asm/testall.v'.
+file: ../../../../libs/xilinx/RAMB4_S1.v
+ module worklib.RAMB4_S1:v
+ errors: 0, warnings: 0
+file: ../../../../rom_8kx16/rtl/verilog/rom_8kx16.v
+ module worklib.rom_8kx16:v
+ errors: 0, warnings: 0
+file: ../../../../rom_8kx16/rtl/verilog/rom_8kx16_top.v
+ module worklib.rom_8kx16_top:v
+ errors: 0, warnings: 0
+file: ../../../../common/generic_memories/rtl/verilog/generic_dpram.v
+ module worklib.generic_dpram:v
+ errors: 0, warnings: 0
+ Total errors/warnings found outside modules and primitives:
+ errors: 1, warnings: 0
+TOOL: ncvlog 04.10-b001: Exiting on May 29, 2003 at 15:15:53 (total: 00:00:01)
Index: rtl_sim/log/ncsim.log
===================================================================
--- rtl_sim/log/ncsim.log (nonexistent)
+++ rtl_sim/log/ncsim.log (revision 186)
@@ -0,0 +1,59 @@
+TOOL: ncsim 04.10-b001: Started on May 29, 2003 at 15:15:55
+ncsim
+ -LICQUEUE
+ -f ./ncsim.args
+ -MESSAGES
+ -NOCOPYRIGHT
+ -CDSLIB ../bin/cds.lib
+ -HDLVAR ../bin/hdl.var
+ -INPUT ncsim.tcl
+ -LOGFILE ../log/ncsim.log
+ worklib.bench:rtl
+
+Loading snapshot worklib.bench:rtl .................... Done
+ncsim> source /shared/tools/ncsim/tools/inca/files/ncsimrc
+ncsim> run
+$readmem error: invalid syntax in file "../../../serial.txt" at line 1
+time 1 step 0: pass
+ receive: I , 49
+ receive: n , 6e
+ receive: , 20
+ receive: N , 4e
+ receive: u , 75
+ receive: m , 6d
+ receive: , 20
+ receive: ? , 3f
+ receive: , 20
+ receive: 3 , 33
+ receive: 6 , 36
+ receive:
+ , 0d
+ receive:
+ , 0a
+ receive: 0 , 30
+ receive: , 20
+ receive: + , 2b
+ receive: , 20
+ receive: 3 , 33
+ receive: , 20
+ receive: = , 3d
+ receive: TOOL: ncsim 04.10-b001: Exiting on May 30, 2003 at 15:27:29 (total: 48:04:57)
+ receive: 3 , 33
+ receive: 0 , 30
+ receive: , 20
+ receive: + , 2b
+ receive: , 20
+ receive: 6 , 36
+ receive: , 20
+ receive: = , 3d
+ receive: , 20
+ receive: 3 , 33
+ receive: 6 , 36
+time 80000220
+ faulire: end of time
+
+
+Simulation complete via $finish(1) at time 80000220 NS + 0
+/projects/oc8051/simont/oc8051/bench/verilog/oc8051_tb.v:303 $finish;
+ncsim> quit
+TOOL: ncsim 04.10-b001: Exiting on May 29, 2003 at 15:18:34 (total: 00:02:39)
Index: rtl_sim/bin/INCA_libs/worklib/inca.linux.138.pak
===================================================================
--- rtl_sim/bin/INCA_libs/worklib/inca.linux.138.pak (nonexistent)
+++ rtl_sim/bin/INCA_libs/worklib/inca.linux.138.pak (revision 186)
@@ -0,0 +1,10331 @@
+ӵƞ˝ܒАө濹 !u-!
+jDk X
+#T;I"N'Ekg_oZk4Y,@4]-A8[u-[7X?|R>W9L4+ xrh``M EECUUx;,`)kkJkEjhmklC,OwGrClvtnA.MuEpAnt6D0\pt[9P>reK'N,
+,,-,O+Xvs0~% >M$I&H<|'"