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

Subversion Repositories t48

[/] [t48/] [tags/] [rel_0_1_beta/] [KNOWN_BUGS] - Diff between revs 251 and 292

Only display areas with differences | Details | Blame | View Log

Rev 251 Rev 292
Known bugs of the T48 uController core
Known bugs of the T48 uController core
======================================
======================================
Version: $Date: 2006-07-14 01:06:36 $
Version: $Date: 2006-07-14 01:06:36 $
Release 0.6.1 BETA
Release 0.6.1 BETA
------------------
------------------
*******************************************************************************
*******************************************************************************
Deassertion of PROG too early
Deassertion of PROG too early
PROG is deasserted in XTAL2 cycle which might lead to read data being already
PROG is deasserted in XTAL2 cycle which might lead to read data being already
invalid (tri-stated) when the core samples P2[3:0] at the end of XTAL3.
invalid (tri-stated) when the core samples P2[3:0] at the end of XTAL3.
Fixed in:
Fixed in:
clock_ctrl.vhd 1.12
clock_ctrl.vhd 1.12
Fix will be included in next release.
Fix will be included in next release.
Release 0.6 BETA
Release 0.6 BETA
----------------
----------------
*******************************************************************************
*******************************************************************************
Deassertion of PROG too early
Deassertion of PROG too early
See above.
See above.
*******************************************************************************
*******************************************************************************
P2 Port value restored after expander access
P2 Port value restored after expander access
After access to expander interface (ANLD Pp; MOVD A,Pp; MOVD Pp,A; ORLD Pp)
After access to expander interface (ANLD Pp; MOVD A,Pp; MOVD Pp,A; ORLD Pp)
the port value of P2 is restored. This is wrong according to chapter "Port 2
the port value of P2 is restored. This is wrong according to chapter "Port 2
Operations" of the "Expanded MCS-48 System" manual. It states that previously
Operations" of the "Expanded MCS-48 System" manual. It states that previously
latched I/O information will be removed and not restored.
latched I/O information will be removed and not restored.
Fixed in:
Fixed in:
p2.vhd 1.8
p2.vhd 1.8
Fix will be included in next release.
Fix will be included in next release.
*******************************************************************************
*******************************************************************************
Problem when INT and JMP
Problem when INT and JMP
When code is executed from Memory Bank 1, the injected CALL triggered by the
When code is executed from Memory Bank 1, the injected CALL triggered by the
interrupt does not always vector to address 3. This happens because of a bus
interrupt does not always vector to address 3. This happens because of a bus
collision between the decoder unit and the db_bus unit. The resulting address
collision between the decoder unit and the db_bus unit. The resulting address
can be either:
can be either:
* 000h, 001h, 002h, 003h for external and timer interrupt
* 000h, 001h, 002h, 003h for external and timer interrupt
* 004h, 005h, 006h, 007h for timer interrupt
* 004h, 005h, 006h, 007h for timer interrupt
The problem was introduced in release 0.6 BETA when the glitch on PCH was
The problem was introduced in release 0.6 BETA when the glitch on PCH was
fixed.
fixed.
Fixed in:
Fixed in:
decoder.vhd 1.21
decoder.vhd 1.21
New regression test: int_on_mb1
New regression test: int_on_mb1
Fix will be included in next release.
Fix will be included in next release.
Release 0.5 BETA
Release 0.5 BETA
----------------
----------------
*******************************************************************************
*******************************************************************************
Deassertion of PROG too early
Deassertion of PROG too early
See above.
See above.
*******************************************************************************
*******************************************************************************
P2 Port value restored after expander access
P2 Port value restored after expander access
See above.
See above.
*******************************************************************************
*******************************************************************************
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
An interrupt occuring during the execution of a JMP instruction, forces bit 11
An interrupt occuring during the execution of a JMP instruction, forces bit 11
of the target address to 0. This corrupts target addresses that are located in
of the target address to 0. This corrupts target addresses that are located in
Program Memory Bank 1.
Program Memory Bank 1.
Fixed in:
Fixed in:
int.vhd 1.5
int.vhd 1.5
New regression test: white_box/int_on_int
New regression test: white_box/int_on_int
Fix will be included in next release.
Fix will be included in next release.
*******************************************************************************
*******************************************************************************
MSB of Program Counter changed upon PC increment
MSB of Program Counter changed upon PC increment
The current implementation of the Program Counter allows that the MSB (bit 11)
The current implementation of the Program Counter allows that the MSB (bit 11)
is modifed when the PC increments at address 07FFh linear code execution. This
is modifed when the PC increments at address 07FFh linear code execution. This
is contrary to the description found in "The Expanded MCS-48 System" which
is contrary to the description found in "The Expanded MCS-48 System" which
states that bit 11 is only altered by JMP and CALL/RET but not by normal
states that bit 11 is only altered by JMP and CALL/RET but not by normal
increment.
increment.
Fixed in:
Fixed in:
pmem_crtl.vhd 1.4
pmem_crtl.vhd 1.4
New regression test: white_box/pc_wrap_bit11
New regression test: white_box/pc_wrap_bit11
Fix will be included in next release.
Fix will be included in next release.
*******************************************************************************
*******************************************************************************
Wrong clock applied to T0
Wrong clock applied to T0
After executing the 'ENT0 CLK' instruction, the internal clock (XTAL divided
After executing the 'ENT0 CLK' instruction, the internal clock (XTAL divided
by 3) should be applied to T0.
by 3) should be applied to T0.
The t48_core applies clk_i to T0. This is equal to XTAL in the current
The t48_core applies clk_i to T0. This is equal to XTAL in the current
implementation of t8048 and others. Therefore, the clock at T0 is three times
implementation of t8048 and others. Therefore, the clock at T0 is three times
faster than specified.
faster than specified.
Fixed in:
Fixed in:
clock_ctrl.vhd 1.7
clock_ctrl.vhd 1.7
t48_core.vhd 1.8
t48_core.vhd 1.8
Fix will be included in next release.
Fix will be included in next release.
Release 0.4 BETA
Release 0.4 BETA
----------------
----------------
*******************************************************************************
*******************************************************************************
P2 Port value restored after expander access
P2 Port value restored after expander access
See above.
See above.
*******************************************************************************
*******************************************************************************
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
See above.
See above.
*******************************************************************************
*******************************************************************************
MSB of Program Counter changed upon PC increment
MSB of Program Counter changed upon PC increment
See above.
See above.
*******************************************************************************
*******************************************************************************
Wrong clock applied to T0
Wrong clock applied to T0
See above.
See above.
*******************************************************************************
*******************************************************************************
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
The control signals RD' and WR' are not asserted when the instructions INS A,
The control signals RD' and WR' are not asserted when the instructions INS A,
BUS and OUTL BUS, A are executed. The BUS is read or written but the control
BUS and OUTL BUS, A are executed. The BUS is read or written but the control
signals are missing.
signals are missing.
Fixed in:
Fixed in:
decoder.vhd 1.16
decoder.vhd 1.16
Fix will be included in next release.
Fix will be included in next release.
*******************************************************************************
*******************************************************************************
P1 constantly in push-pull mode in t8048
P1 constantly in push-pull mode in t8048
Port P1 is constantly driven by an active push-pull driver instead of an
Port P1 is constantly driven by an active push-pull driver instead of an
open-collector driver type. This inhibits using any bit of P1 in input
open-collector driver type. This inhibits using any bit of P1 in input
direction.
direction.
Fixed in:
Fixed in:
t8048.vhd 1.4
t8048.vhd 1.4
Fix will be included in next release.
Fix will be included in next release.
Release 0.3 BETA
Release 0.3 BETA
----------------
----------------
*******************************************************************************
*******************************************************************************
P2 Port value restored after expander access
P2 Port value restored after expander access
See above.
See above.
*******************************************************************************
*******************************************************************************
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
See above.
See above.
*******************************************************************************
*******************************************************************************
MSB of Program Counter changed upon PC increment
MSB of Program Counter changed upon PC increment
See above.
See above.
*******************************************************************************
*******************************************************************************
Wrong clock applied to T0
Wrong clock applied to T0
See above.
See above.
*******************************************************************************
*******************************************************************************
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
See above.
See above.
*******************************************************************************
*******************************************************************************
P1 constantly in push-pull mode in t8048
P1 constantly in push-pull mode in t8048
See above.
See above.
*******************************************************************************
*******************************************************************************
PSENn Timing
PSENn Timing
PSENn is erroneously activated during read or write from external memory when
PSENn is erroneously activated during read or write from external memory when
the read and write strobe signals RDn and WRn are active. This happens when
the read and write strobe signals RDn and WRn are active. This happens when
code is executed from external Program Memory.
code is executed from external Program Memory.
The problem lies in the decoder module where the PSENn signal is generated
The problem lies in the decoder module where the PSENn signal is generated
based on the current machine cycle.
based on the current machine cycle.
Fixed in decoder.vhd 1.15
Fixed in decoder.vhd 1.15
Added waveform check for PSENn in if_timing.vhd 1.3
Added waveform check for PSENn in if_timing.vhd 1.3
New regression test: white_box/psen_rd_wr_timing
New regression test: white_box/psen_rd_wr_timing
Fix will be included in next release.
Fix will be included in next release.
Release 0.2 BETA
Release 0.2 BETA
----------------
----------------
*******************************************************************************
*******************************************************************************
P2 Port value restored after expander access
P2 Port value restored after expander access
See above.
See above.
*******************************************************************************
*******************************************************************************
MSB of Program Counter changed upon PC increment
MSB of Program Counter changed upon PC increment
See above.
See above.
*******************************************************************************
*******************************************************************************
Wrong clock applied to T0
Wrong clock applied to T0
See above.
See above.
*******************************************************************************
*******************************************************************************
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
See above.
See above.
*******************************************************************************
*******************************************************************************
P1 constantly in push-pull mode in t8048
P1 constantly in push-pull mode in t8048
See above.
See above.
*******************************************************************************
*******************************************************************************
PSENn Timing
PSENn Timing
See above.
See above.
*******************************************************************************
*******************************************************************************
Program Memory bank can be switched during interrupt
Program Memory bank can be switched during interrupt
During an interrupt service routine (i.e. after vectoring to location 3 or 7
During an interrupt service routine (i.e. after vectoring to location 3 or 7
of the Program Memory and befor executing the RETR instruction) the Program
of the Program Memory and befor executing the RETR instruction) the Program
Memory bank can be switched by executing a JMP or CALL instruction. These
Memory bank can be switched by executing a JMP or CALL instruction. These
instructions honour the current state of the Program Memory Bank Flag and thus
instructions honour the current state of the Program Memory Bank Flag and thus
switch the Program Memory bank upon execution.
switch the Program Memory bank upon execution.
Fixed in:
Fixed in:
int.vhd 1.2
int.vhd 1.2
decoder.vhd 1.14
decoder.vhd 1.14
Updated regression test:
Updated regression test:
black_box/mb/int
black_box/mb/int
Fix will be included in next release.
Fix will be included in next release.
Release 0.1 BETA
Release 0.1 BETA
----------------
----------------
*******************************************************************************
*******************************************************************************
P2 Port value restored after expander access
P2 Port value restored after expander access
See above.
See above.
*******************************************************************************
*******************************************************************************
MSB of Program Counter changed upon PC increment
MSB of Program Counter changed upon PC increment
See above.
See above.
*******************************************************************************
*******************************************************************************
Wrong clock applied to T0
Wrong clock applied to T0
See above.
See above.
*******************************************************************************
*******************************************************************************
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
See above.
See above.
*******************************************************************************
*******************************************************************************
PSENn Timing
PSENn Timing
See above.
See above.
*******************************************************************************
*******************************************************************************
Program Memory bank can be switched during interrupt
Program Memory bank can be switched during interrupt
See above.
See above.
******************************************************************************
******************************************************************************
External Program Memory ignored when EA = 0
External Program Memory ignored when EA = 0
The external Program Memory is always ignored when EA = 0 with the t8048 system
The external Program Memory is always ignored when EA = 0 with the t8048 system
toplevel. Desired behaviour is to access external Program Memory when code
toplevel. Desired behaviour is to access external Program Memory when code
has to be fetched from an address location that is outside the internal
has to be fetched from an address location that is outside the internal
Program Memory.
Program Memory.
Fixed in t8048.vhd 1.3
Fixed in t8048.vhd 1.3
Fix will be included in next release.
Fix will be included in next release.
******************************************************************************
******************************************************************************
ANL and ORL to P2 read port status instead of port output register
ANL and ORL to P2 read port status instead of port output register
The ANL and ORL instructions for P2 read the port status and apply the logical
The ANL and ORL instructions for P2 read the port status and apply the logical
operation on this value. Instead, they should read the port output register
operation on this value. Instead, they should read the port output register
and operate on this value.
and operate on this value.
Fixed in p2.vhd 1.5
Fixed in p2.vhd 1.5
Regression test:
Regression test:
white_box/p2_port_reg_conflict
white_box/p2_port_reg_conflict
Fix will be included in next release.
Fix will be included in next release.
******************************************************************************
******************************************************************************
Counter is not incremented
Counter is not incremented
When in counter mode, the timer/counter module does not increment upon a
When in counter mode, the timer/counter module does not increment upon a
falling edge of T1. Reason is a typo in the code for the edge detection signal
falling edge of T1. Reason is a typo in the code for the edge detection signal
t1_inc_s - it will never become true.
t1_inc_s - it will never become true.
Fixed in timer.vhd 1.3
Fixed in timer.vhd 1.3
Regression tests:
Regression tests:
black_box/cnt/cnt
black_box/cnt/cnt
black_box/cnt/int
black_box/cnt/int
Fix will be included in next release.
Fix will be included in next release.
 
 

powered by: WebSVN 2.1.0

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