6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 2:01 am

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Wed Sep 22, 2010 5:36 pm 
Offline

Joined: Mon May 24, 2004 8:48 pm
Posts: 59
well .. in fact I'm new in here .
Few years ago I have made project with atmega128 and some adc chip . here is some videos i have made today . http://www.youtube.com/watch?v=Z-woMgq0BAE
What you see is a finger touch on the digital side . ( That project was newer done after i have bay digital oscilloscope) .
So in this project atmega128 (at 16mhz) was sharing memory with cpld , to display data's on vga display (640x480) .
no problems at all . My point is ... 6502 or even 65816 are disaster to deal with , the timings are so difficult to understand . At the moment I have the same problem what mr. Deryl has ,on my old board ( with hct245 on data side ) my cpu was working fine with 1, 2, 4 8 mhz , after I rebuild it .. cpu is working only ( ONLY) at 16 mhz (negative clock of vga clock) . So finally is any of you has some experience with sharing memory between cpu (65816) and vga ??? in vhdl ?
Greetings
[/url]


Last edited by bound on Wed Sep 22, 2010 11:32 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Sep 22, 2010 7:15 pm 
Online
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8544
Location: Southern California
Microcontrollers, whether Atmega, PIC, or whatever, are pretty much self-contained and as such have virtually no timing requirements. So that part is easy. A nice thing about the 6502 as a microprocessor however is the very simple bus structure. For an aircraft product I designed in 1993, when the microcontroller selection on the market was much more limited and we needed a lot of ROM plus EEPROM, the microcontroller we settled on turned out to be too difficult to get, so I made a little board with a 6502. It was so easy I didn't have to look up any timings, I didn't breadboard it, and I didn't even draw up a schematic until after that board was laid out and in production. We sold it for 15 years and never had any trouble with it.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Sep 22, 2010 8:18 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
If I can add something here, I think "simplicity" has multiple meanings. The 6502/65816's bus is very simple, and closely resembles many high-performance buses found in ASICs and programmable logic. Compare Wishbone against 65xx bus, and you'll notice an immediate resemblance.

But, I can feel for Bound's reaction too, because there is a certain kind of simplicity that having a "stateful" bus (like Multibus) affords too. You can use slower parts, not have to worry so much about which clock phase something needs to be valid, etc. The cost, of course, is performance. Multibus takes three to four cycles to transfer one unit of data, while the 65816 takes one cycle.

With that being said, my experience with the 65816 has been negative only when dealing with a clock with a slew greater than 5ns. Most of the chip's timings are pretty lax (except for ABORT#, I think everything is sampled on the falling edge of phase-2 now-a-days), but when WDC says the 65816 must have a 5ns or better slew on the phase-2 (or phase-0) input, they really mean it.

Another tip to working with the 65xx line is that the clock signal is not edge sensitive. It is, in fact, level-sensitive. Hence, most of your external logic, if not integrated through some other means, will also need to use level-sensitive logic. This is why WDC recommends transparent latches instead of edge-triggered devices for capturing the bank address byte on the 65816, for example.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Sep 23, 2010 12:31 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
kc5tja wrote:
...Another tip to working with the 65xx line is that the clock signal is not edge sensitive. It is, in fact, level-sensitive. Hence, most of your external logic, if not integrated through some other means, will also need to use level-sensitive logic. This is why WDC recommends transparent latches instead of edge-triggered devices for capturing the bank address byte on the 65816, for example.


In my past designs in the 80's using the MOS6502, I used latches (74373) for read only input latches, and edge triggered flip-flops (74374) for write only output ports.

Another concern for a designer is use of Phase 2 In? to control all other peripherals, or Phase 2 Out? We are all used to use Phase 2 Out from the CPU. The WDC datasheet concerning the 6502 says otherwise...

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Sep 23, 2010 1:07 am 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
Yeah, you can definitely use edge-triggered devices for some things, but as I'm finding out in designing an asynchronous peripheral bus, level-triggering seems to just fit more naturally.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Oct 05, 2010 2:14 pm 
Offline

Joined: Mon May 24, 2004 8:48 pm
Posts: 59
Yes , the 245 and 573 logic plus lvt08 or vhc08 (to format irq, mnib ,clock signals ) and one hct00 for rd wr signal is required . That will make you system stable . If you designing system with mixed voltage ... remember to provide clear signals for you cpu . end of story .
PS . fpga suck ! If you wont to be sure about you timing design go for cpld's


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

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