6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon Apr 29, 2024 4:53 am

All times are UTC




Post new topic Reply to topic  [ 232 posts ]  Go to page Previous  1 ... 12, 13, 14, 15, 16
Author Message
PostPosted: Thu Nov 19, 2020 11:06 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1927
Location: Sacramento, CA, USA
There's no instruction to JAM a 65c02 like you can with the old NMOS, is there? I think that RESET could un-JAM my old Synertek without waiting for SYNC, but you're simulating CMOS behavior, so you should be safe.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 11:21 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
There are no undefined states in the state machine, and no loops, so it should always return to the SYNC state within a handful of cycles, even if the rest of the design is in a random state.


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 11:45 am 
Offline

Joined: Sun Jun 29, 2014 5:42 am
Posts: 337
This is looks very promising. I'm looking forward to it being integrated back into the main core and being able to try it out in the Beeb.

Dave


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 11:58 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
The disassembly/state output in ASCII is very convenient when you're looking at the simulation traces.
Code:
        LDA #$ff
        AND ($12),y
        STP

(the STP instruction is not supported by the core, I use it to $finish the sim)


Attachments:
disassembly.png
disassembly.png [ 3.84 KiB | Viewed 690 times ]
Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 12:23 pm 
Offline

Joined: Sun Jun 29, 2014 5:42 am
Posts: 337
I spent some time yesterday fidding with the Beeb Accelerator design (which is currently using Arlet's original design, with the BigEd/Hoglet C02 extentions).

I spotted a couple of signals in Beeb Accelerator that looked like they could be pipelined, and this improved the maximum clock speed from 80MHz to 90MHz. This didn't involve any CPU core changes at all.

The critical paths then seem to be a mix of:
- Block RAM => DI => ALU (passing through the BCD logic) => Carry Out Register
- Block RAM => DI => ABL/ABH => nextAddress => Block RAM

I was wondering if there was any merrit in exploring an ALU design that makes use of the DSP48A slice? Or is this obviously a non-starter?
Attachment:
dsp48a1.png
dsp48a1.png [ 95.94 KiB | Viewed 688 times ]

https://www.xilinx.com/support/document ... /ug389.pdf

Clearly the BCD path would need to be seperate, and this may be the stumbling block. But in the C02 there is an extra cycle available for BCD anyway, isn't there?

Dave


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 19, 2020 12:37 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Yes, the new C02 uses an additional BCD cycle. I think a bigger problem is that the DSP block doesn't do logic operations (AND,OR,EOR) which are currently integrated in the adder. You might get a little faster carry, but that's probably wiped out by the extra layer of logic.


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 20, 2020 4:03 am 
Offline

Joined: Mon May 21, 2018 8:09 pm
Posts: 1462
In the WDC 65C02, there is a STP instruction which halts the CPU - it won't even respond to interrupts - until a Reset arrives. It's not quite the same as the "jam" opcodes on the NMOS version; STP is deliberately programmed into the microcode.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 232 posts ]  Go to page Previous  1 ... 12, 13, 14, 15, 16

All times are UTC


Who is online

Users browsing this forum: No registered users and 13 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

Search for:
Jump to: