Last visit was: Tue Oct 13, 2026 2:02 am
It is currently Tue Oct 13, 2026 2:02 am



 [ 244 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17
 rf68000 - 68k similar core 
Author Message

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2523
Location: Canada
Got around to synthesizing the core by itself and running timing analysis on it. The clock is 100 MHz, and the timing reports that there is about 2ns slack. Meaning the clock could be faster (about 125 MHz). I think this is about the same timing as it had with the busses triplicated. However, once the core is placed in a larger system, the FMAX is lower. Note there is an issue of 5ps or less on the hold timing, but not enough to worry about. (The core seems to work).
Attachment:
TimingReport.png


You do not have the required permissions to view the files attached to this post.

_________________
Robert Finch http://www.finitron.ca


Wed Oct 07, 2026 11:27 am WWW

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1898
interesting, thanks


Wed Oct 07, 2026 11:37 am

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2523
Location: Canada
The immediate mode instructions were accepting a byte operation on an address register; however, the address register would not be updated. This has been switched to an illegal op. This would not be an issue except for hand generated code.
Bug fix:
For the ADDQ / SUBQ instructions only long words were supported for address registers. This should have been both word and long word forms. For word operations the register would be updated without extending the low order word.

Refactoring
Moved setting of the condition code register flags out to its own module. This was a major modification.

Enhancements
The second major modification was to add a bank instruction prefix allowing the selection of up to 32 registers for an instruction. The BANK prefix contains a simple two-bit extension for corresponding register fields in the following instruction. It works slightly differently than the BANK prefix of the Apollo core.
Code:
BANK
+---+-----+---+----+----+----+----+
| 7 | xxx | 1 | dd | cc | bb | aa |
+---+-----+---+----+----+----+----+

Generally
aa extends the Xn field of the instruction which is the register for the address mode, bits [2:0] of the instruction.
bb extends the Rn field of the instruction where there is a second register specified, typically bits [11:9] of the instruction.
cc may be used to extend the index register selection.
dd used by CAS instruction.

_________________
Robert Finch http://www.finitron.ca


Thu Oct 08, 2026 3:46 am WWW

Joined: Sat Feb 02, 2013 9:40 am
Posts: 2523
Location: Canada
Additions
Added a bank prefix for floating point (co-processor) instructions. Works the same way as BANK except applies to register fields in the float instructions.
Added a source two SRC2 prefix instruction. This prefix fetches a second source operand for the following instruction. This allows the ALU instructions to be of a 2 source 1 destination form which is popular for compilers.
Code:
SRC2
+---+----+---+-----+-------+
| 7 | op | 1 | mmm | rrrrr |
+---+----+---+-----+-------+
mmm address mode to fetch second source operand
rrrrr register associated with address mode
op:
000 = bank prefix
001 = bank prefix for float instructions
011 = fetch 96-bit float
100 = fetch byte
101 = fetch word
110 = fetch long word
111 = fetch quad word

Note the SRC2 prefix acts like its own independent instruction except that interrupts are not allowed between the SRC2 and its following instruction.
There may be both a SRC2 prefix and a BANK prefix before the following instruction.

_________________
Robert Finch http://www.finitron.ca


Sat Oct 10, 2026 1:28 am WWW
 [ 244 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17

Who is online

Users browsing this forum: claudebot and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software