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

Subversion Repositories t48

[/] [t48/] [tags/] [rel_1_4/] [KNOWN_BUGS] - Diff between revs 295 and 344

Show entire file | Details | Blame | View Log

Rev 295 Rev 344
?rev1line?
?rev2line?
 
 
 
Known bugs of the T48 uController core
 
======================================
 
Version: $Id: KNOWN_BUGS 295 2009-04-01 19:32:48Z arniml $
 
 
 
 
 
Release 0.6.1 BETA
 
------------------
 
 
 
*******************************************************************************
 
Deassertion of PROG too early
 
 
 
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.
 
 
 
Fixed in:
 
clock_ctrl.vhd 1.12
 
Fix will be included in next release.
 
 
 
 
 
 
 
Release 0.6 BETA
 
----------------
 
 
 
*******************************************************************************
 
Deassertion of PROG too early
 
 
 
See above.
 
 
 
*******************************************************************************
 
P2 Port value restored after expander access
 
 
 
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
 
Operations" of the "Expanded MCS-48 System" manual. It states that previously
 
latched I/O information will be removed and not restored.
 
 
 
Fixed in:
 
p2.vhd 1.8
 
Fix will be included in next release.
 
 
 
*******************************************************************************
 
Problem when INT and JMP
 
 
 
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
 
collision between the decoder unit and the db_bus unit. The resulting address
 
can be either:
 
* 000h, 001h, 002h, 003h for external and timer interrupt
 
* 004h, 005h, 006h, 007h for timer interrupt
 
 
 
The problem was introduced in release 0.6 BETA when the glitch on PCH was
 
fixed.
 
 
 
Fixed in:
 
decoder.vhd 1.21
 
New regression test: int_on_mb1
 
Fix will be included in next release.
 
 
 
 
 
 
 
Release 0.5 BETA
 
----------------
 
 
 
*******************************************************************************
 
Deassertion of PROG too early
 
 
 
See above.
 
 
 
*******************************************************************************
 
P2 Port value restored after expander access
 
 
 
See above.
 
 
 
*******************************************************************************
 
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
 
of the target address to 0. This corrupts target addresses that are located in
 
Program Memory Bank 1.
 
 
 
Fixed in:
 
int.vhd 1.5
 
New regression test: white_box/int_on_int
 
Fix will be included in next release.
 
 
 
*******************************************************************************
 
MSB of Program Counter changed upon PC increment
 
 
 
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 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
 
increment.
 
 
 
Fixed in:
 
pmem_crtl.vhd 1.4
 
New regression test: white_box/pc_wrap_bit11
 
Fix will be included in next release.
 
 
 
*******************************************************************************
 
Wrong clock applied to T0
 
 
 
After executing the 'ENT0 CLK' instruction, the internal clock (XTAL divided
 
by 3) should be applied to T0.
 
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
 
faster than specified.
 
 
 
Fixed in:
 
clock_ctrl.vhd 1.7
 
t48_core.vhd 1.8
 
Fix will be included in next release.
 
 
 
 
 
 
 
Release 0.4 BETA
 
----------------
 
 
 
*******************************************************************************
 
P2 Port value restored after expander access
 
 
 
See above.
 
 
 
*******************************************************************************
 
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
 
 
 
See above.
 
 
 
*******************************************************************************
 
MSB of Program Counter changed upon PC increment
 
 
 
See above.
 
 
 
*******************************************************************************
 
Wrong clock applied to T0
 
 
 
See above.
 
 
 
*******************************************************************************
 
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,
 
BUS and OUTL BUS, A are executed. The BUS is read or written but the control
 
signals are missing.
 
 
 
Fixed in:
 
decoder.vhd 1.16
 
Fix will be included in next release.
 
 
 
*******************************************************************************
 
P1 constantly in push-pull mode in t8048
 
 
 
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
 
direction.
 
 
 
Fixed in:
 
t8048.vhd 1.4
 
Fix will be included in next release.
 
 
 
 
 
 
 
Release 0.3 BETA
 
----------------
 
 
 
*******************************************************************************
 
P2 Port value restored after expander access
 
 
 
See above.
 
 
 
*******************************************************************************
 
Target address of JMP and CALL to Program Memory Bank 1 corrupted by interrupt
 
 
 
See above.
 
 
 
*******************************************************************************
 
MSB of Program Counter changed upon PC increment
 
 
 
See above.
 
 
 
*******************************************************************************
 
Wrong clock applied to T0
 
 
 
See above.
 
 
 
*******************************************************************************
 
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
 
 
 
See above.
 
 
 
*******************************************************************************
 
P1 constantly in push-pull mode in t8048
 
 
 
See above.
 
 
 
*******************************************************************************
 
PSENn Timing
 
 
 
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
 
code is executed from external Program Memory.
 
 
 
The problem lies in the decoder module where the PSENn signal is generated
 
based on the current machine cycle.
 
 
 
Fixed in decoder.vhd 1.15
 
Added waveform check for PSENn in if_timing.vhd 1.3
 
New regression test: white_box/psen_rd_wr_timing
 
Fix will be included in next release.
 
 
 
 
 
 
 
Release 0.2 BETA
 
----------------
 
 
 
*******************************************************************************
 
P2 Port value restored after expander access
 
 
 
See above.
 
 
 
*******************************************************************************
 
MSB of Program Counter changed upon PC increment
 
 
 
See above.
 
 
 
*******************************************************************************
 
Wrong clock applied to T0
 
 
 
See above.
 
 
 
*******************************************************************************
 
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
 
 
 
See above.
 
 
 
*******************************************************************************
 
P1 constantly in push-pull mode in t8048
 
 
 
See above.
 
 
 
*******************************************************************************
 
PSENn Timing
 
 
 
See above.
 
 
 
*******************************************************************************
 
Program Memory bank can be switched during interrupt
 
 
 
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
 
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
 
switch the Program Memory bank upon execution.
 
 
 
Fixed in:
 
int.vhd 1.2
 
decoder.vhd 1.14
 
Updated regression test:
 
black_box/mb/int
 
Fix will be included in next release.
 
 
 
 
 
 
 
Release 0.1 BETA
 
----------------
 
 
 
*******************************************************************************
 
P2 Port value restored after expander access
 
 
 
See above.
 
 
 
*******************************************************************************
 
MSB of Program Counter changed upon PC increment
 
 
 
See above.
 
 
 
*******************************************************************************
 
Wrong clock applied to T0
 
 
 
See above.
 
 
 
*******************************************************************************
 
RD' and WR' not asserted for INS A, BUS and OUTL BUS, A
 
 
 
See above.
 
 
 
*******************************************************************************
 
PSENn Timing
 
 
 
See above.
 
 
 
*******************************************************************************
 
Program Memory bank can be switched during interrupt
 
 
 
See above.
 
 
 
******************************************************************************
 
External Program Memory ignored when EA = 0
 
 
 
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
 
has to be fetched from an address location that is outside the internal
 
Program Memory.
 
 
 
Fixed in t8048.vhd 1.3
 
Fix will be included in next release.
 
 
 
******************************************************************************
 
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
 
operation on this value. Instead, they should read the port output register
 
and operate on this value.
 
 
 
Fixed in p2.vhd 1.5
 
Regression test:
 
white_box/p2_port_reg_conflict
 
Fix will be included in next release.
 
 
 
******************************************************************************
 
Counter is not incremented
 
 
 
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
 
t1_inc_s - it will never become true.
 
 
 
Fixed in timer.vhd 1.3
 
Regression tests:
 
black_box/cnt/cnt
 
black_box/cnt/int
 
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.