Search found 158 matches

by cr1901
Sat Sep 19, 2015 8:36 am
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

Decided to compromise... I created a bus that's compatible with Arlet's core and then created peripherals that respond to this bus. For the purposes of creating 6502 SoCs, all peripherals I create- except for those emulating 65xx chips- will use Arlet's core timing; the toolbox I use to write HDL ...
by cr1901
Sun Sep 13, 2015 1:48 pm
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

Arlet wrote:
By "next address", do you mean the previous + 1 ?
Yes. That said, I think I need to finish designing my current "toy" system and upload the code (I have your code linked as a git submodule).
by cr1901
Sat Sep 12, 2015 9:21 pm
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

I'd have to think whether I need more, but at the very least, I'd need a signal that denotes whether your core is "ready or not ready" to fetch the next address. Something akin to a pipeline stall signal.

But this is later. I can live with the halved performance on the Wishbone bus for now.
by cr1901
Sat Sep 12, 2015 11:41 am
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

Could you improve performance by pretending to do bursts at incrementing addresses, and abandon data + start a new transfer when the 6502 doesn't read from next address ? I don't think your coree provides enough control signals to the outside world for me to do that (I use a set of Python modules ...
by cr1901
Sat Sep 12, 2015 8:28 am
Forum: Hardware
Topic: 6502/65816 Pipeline
Replies: 19
Views: 3977

Re: 6502/65816 Pipeline

Just to make sure... all 6502 clock cycle counts take into account that the last cycle may not be doing anything besides fetching the next byte in the case that the instruction need to write/read memory (example STA $FE00 takes for cycles, but the write is committed during the third clock cycle ...
by cr1901
Sat Sep 12, 2015 7:57 am
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

Rob Finch wrote:
I think you need to generate CYC and STB signals all the time so that a corresponding ACK/RDY is generated.
Indeed, this is what I do. The core is doing a perpetual Wishbone block mode transfer.
by cr1901
Sat Sep 12, 2015 6:58 am
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

Arlet wrote:
I think the problem is that the combinatorial path from data to address bus is maintained even when RDY=0, where instead you would expect the address bus to stay fixed at the same value when RDY=0.
See my edited post. I think what you just described is a side effect of the real issue.
by cr1901
Sat Sep 12, 2015 6:44 am
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

I'm a bit confused about the state of the RDY signal during all of this. Is it being deasserted ? And if so, can you show the timing ? (note that I have no experience/knowledge of wishbone) RDY is deasserted every other clock cycle b/c wishbone (without more control signals than I have available ...
by cr1901
Sat Sep 12, 2015 6:32 am
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

Okay, after some timing/simulation analysis of Arlet's core, along with looking on Arlet's website I think I figured out most of the internals:

Data is fetched on cycle X posedge, Data is interpreted on cycle X + 1 posedge, as indicated on the website. This pipeline allows Arlet's 6502 core to run ...
by cr1901
Fri Sep 11, 2015 8:18 pm
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Re: Arlet's 6502 Core Timing

Okay, so it's not just me... looks like you ran into the same problem I did.

This is a real pity though... the speed of the core will be no more than 2/3's full speed thanks to this; the RAM itself is synchronous. The address decoding of my design is not. So synchronous RAM accesses are delayed by ...
by cr1901
Fri Sep 11, 2015 7:14 pm
Forum: Programmable Logic
Topic: Arlet's 6502 Core Timing
Replies: 22
Views: 6178

Arlet's 6502 Core Timing

I've been playing with Arlet's cute 6502 Verilog core recently and trying to embed it onto an FPGA for a DAQ application to analyze bus signals (the 6502 tells an FPGA-logic analyzer to start collecting data and sends/receives data from a DUT).

To make my life easier, I've tried connecting the 6502 ...
by cr1901
Mon Jun 15, 2015 4:21 am
Forum: Hardware
Topic: Real 6502 with 1 MB virtual mode.
Replies: 23
Views: 3911

Re: Real 6502 with 1 MB virtual mode.

Forgive me for the stupid question, but in your PDF schematic, why are only 2 wires connected (A8/A9) to the SIMM connector? I think I'm missing something important here.
by cr1901
Mon Jun 15, 2015 3:56 am
Forum: Programming
Topic: A sensible macro engine
Replies: 42
Views: 13104

Re: A sensible macro engine

I'm surprised nobody mentioned m4 for use as a macro processor for bare minimal assemblers, which was it's original intent I believe.

I'm also learning Scheme, and that also is a good candidate for macro generation (anyone know if a Lisp interpreter exists for a 6502 system?).

However, I would ...
by cr1901
Tue Apr 21, 2015 6:25 am
Forum: Hardware
Topic: Bank Switching Scheme Debate
Replies: 23
Views: 6091

Re: Bank Switching Scheme Debate

Indeed, VIA is available in PLCC (and supposedly QFP). This actually should be doable in 5 chips: '816 or '02, 128kB RAM, VIA, CPLD (address decoding, control, and UART), and EEPROM (serial or otherwise). And of course, headers for I/O, clock, power, and reset, and UART :D.

There, I designed a SBC ...
by cr1901
Tue Apr 21, 2015 1:13 am
Forum: Hardware
Topic: Bank Switching Scheme Debate
Replies: 23
Views: 6091

Re: Bank Switching Scheme Debate

5V-tolerant CPLDs are becoming hard to come by, so that would facilitate using logic shifters since at 5V the 'C02 doesn't understand that 3.3V is valid TTL :(. Not necessarily a huge deal- 4 10-input logic shifters are plenty for a 65xx bus, and don't take up much room. Yes, that is certainly a ...