6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 9:15 pm

All times are UTC




Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Fri Jul 17, 2015 12:21 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
Hello everyone. I am back. Being a glutton for punishment, I am building a new board based on XC3S700AN.
Attachment:
initial.jpg
initial.jpg [ 105.48 KiB | Viewed 2816 times ]

This time I am integrating 1MB of fast static RAM that can be configured as 32 bits x 256K words or 16 bits x 512K words. With a little muxing it should be possible to use the RAM in 8 bit mode, or two 16-bit cores can be assigned to the two SRAMS.

The board also has a keyboard/mouse PS2 port (can be used with a splitter), a 6-bit VGA port, a micro-sd card socket, and a headphone connector for 2-channel 1-bit delta-sigma output. There is also a pushbutton and an LED. For IO I have a serial port, an 8-bit PMOD connector, 5 lines wired to pads and 58-IO lines wired to a high-density connector. Power comes from a mini-USB connector.

It should be possible to implement many retro-machines with just the basic board, and there is a lot of room for expansion via the mezzanine connector. I am looking forward to trying the 16 and 32-bit variants of Arlet's core.

I just started testing the first board. The FPGA is recognized by Impact, which is a pretty good start...

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 17, 2015 1:17 am 
Offline
User avatar

Joined: Mon Apr 23, 2012 12:28 am
Posts: 760
Location: Huntsville, AL
Great to have you back. Looking forward to following your newest project.

_________________
Michael A.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 17, 2015 2:35 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
Yes, great to see you back, enso! That unit looks like it might be a nice flexible soft-core host for the 65Org32, or maybe even my 65m32, if I ever manage to punch my way through the final few rounds of spec. revisions, and get my simulator to compile. Oh yeah, and I need to finish my native ML monitor and my port of Dr. Brad's CamelForth too! I know there's more, but my mind is overwhelmed at the moment with a heavy dose of real-life.

Mike B.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 17, 2015 4:17 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Rockin'! The option for 32-bit wide memory sounds alright to me! :D

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 17, 2015 4:20 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
And I am blinking an LED... Could it be that the first board has no dumb errors? Well, the headphone jack footprint I made is backwards, but other than that...

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 17, 2015 4:38 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8513
Location: Midwestern USA
enso wrote:
And I am blinking an LED... Could it be that the first board has no dumb errors? Well, the headphone jack footprint I made is backwards, but other than that...

Blinken lights are always good! :lol:

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 17, 2015 6:09 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
Now that "it works", I am trying to write the blinky configuration to the internal flash. Oh boy, it is a lot harder than I imagined... Finally got to the point where Impact writes something, with errors...
Code:
'1': Verification completed successfully.
'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and spi mode settings.
PROGRESS_END - End Operation.
Elapsed time =     94 sec.

I remember now something in ug322 about setting the done pin for 3AN devices... Too tired now, will continue tomorrow.

It was a pretty good day. Thanks for your encouragement.

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 18, 2015 2:22 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
Attachment:
2.iso.s.jpg
2.iso.s.jpg [ 123.45 KiB | Viewed 2733 times ]
Finally saving the bitstream in the internal flash. Now it's time to test the rest of the system.
Attachment:
2.front.s.jpg
2.front.s.jpg [ 176.34 KiB | Viewed 2768 times ]

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 23, 2015 1:37 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
I've been banging my head against the wall for almost a week now. I implemented a CHOCHI-like bitstream, but for some reason can't get anything longer then helloworld to execute. ehbasic and forth both lock up tight. At first I thought it was a memory-related bug, but after implementing a checksum and a couple of rudimentary memory tests, it appears that the code is actually there, and intact... Moving helloworld around in RAM also seems to work fine. Go figure.

I guess I will try harder. I'll start with forth and put serial output in to see how far it gets... I really thought it would take a couple of hours to get CHOCHI code to run on RetroStation. Blargh.

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 23, 2015 7:25 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Hmm - you have some spare pins to help you see what's going on inside?


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 23, 2015 10:52 am 
Offline

Joined: Sun Jun 29, 2014 5:42 am
Posts: 352
Hi Enso,

A bit of a random guess, but in my experience sometimes strange problems like this can be caused by the Xilinx trying to switch too many outputs and the same time. This, can be made worse if the decoupling is not adequate.

One thing to try in your UCF file is to all the edges down, by adding | SLEW=SLOW | DRIVE = 2 to all your outputs.

Dave


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 23, 2015 8:15 pm 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
I suspected decoupling at first, and stuck some extra capacitors on. SLEW and DRIVE did not help.

It's one of those weird things. I filled the RAM with bcs *+2 followed by the working "hello world" code (after an stc), and it runs through the entire RAM without locking up... I tried tracing into figforth, but it gets convoluted. I am trying to come up with a simple test case that fails.

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 23, 2015 9:50 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Do you suspect that big mother lode of a BGA? Maybe a possible single pin not connecting?

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


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 23, 2015 10:43 pm 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
At this point I am suspicious of everything, mostly myself. It _seems_ to work fine out of the BRAM mapped from $FC00 to 03FF. I've concocted a monitor in the upper RAM and haven't had a glitch with it yet. It seems to have something to do with SRAMs, although I cannot currently imagine what.

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 23, 2015 11:14 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Have you tried hammering the RAMs with worst case data and address patterns? Reading or writing all zeros and all ones alternately, accessing the lowest and the highest address alternately? It should provoke decoupling bugs.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

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