Beeb FPGA port to Spectrum Next

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Beeb FPGA port to Spectrum Next

Postby hoglet » Fri Dec 08, 2017 8:19 am

Hi all.

Continuing on from here...

Attached is the current UCF file:
specnext_ucf.txt
(13.53 KiB) Downloaded 17 times

Is there any documentation on how multiple cores co-exist on the Spectrum Next?

Does Spectrum Next make use of Xilinx multi-boot (i.e. multiple cores in the same flash ROM)?

Is there any kind of an audio DAC present, or it is just a 1 bit digital output and an R/C low pass filter?

Is there a serial port?

Will the 7x2 pads near the FPGA take a standard JTAG Connector?

Dave

User avatar
fordp
Posts: 925
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England

Re: Beeb FPGA port to Spectrum Next

Postby fordp » Fri Dec 08, 2017 9:43 am

I am hoping this is going to be my favourite thread ever. My first computer was a Spectrum, my second a BBC B, my next toy after that a 32016 Second Processor.

The Spectrum Next should be able to do all of that ;)

Are you a backer Dave (hoglet) ?
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

User avatar
fordp
Posts: 925
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England

Re: Beeb FPGA port to Spectrum Next

Postby fordp » Fri Dec 08, 2017 9:47 am

hoglet wrote:
Does Spectrum Next make use of Xilinx multi-boot (i.e. multiple cores in the same flash ROM)?
Dave


From what I read they seem to have some system for loading cores from the MicroSD card.

I have no idea how that could work however :(
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

User avatar
BigEd
Posts: 1547
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Fri Dec 08, 2017 10:05 am

Yes, I did wonder if it was worth downloading one of their card images and having a look at the magic file.

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Fri Dec 08, 2017 10:54 am

not much info on the official forum.

https://www.specnext.com/forum/viewforum.php?f=10

tbh this has been a low priority for the dev team, as they conc on tbblue core.

thre was info on the fbk page, but its like a churning sea that grp! info comes into view then sinks to the depths....

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Fri Dec 08, 2017 11:50 am

northernbob wrote:not much info on the official forum.

https://www.specnext.com/forum/viewforum.php?f=10

tbh this has been a low priority for the dev team, as they conc on tbblue core.

thre was info on the fbk page, but its like a churning sea that grp! info comes into view then sinks to the depths....

Could you possibly take some high res photos of the board (both sides)?

And a close up of the FPGA, so I can see what speed grade and package it is?

Dave

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Fri Dec 08, 2017 4:06 pm

Here's a first cut of the Spec Next port:
https://github.com/hoglet67/BeebFpga/bl ... c_next.vhd

And the corresponding Xilinx Project file:
https://github.com/hoglet67/BeebFpga/bl ... _next.xise

It's functionally complete and builds, but there are quite a few things I'm a bit uncertain about, so I expect some debugging will be required.

At the moment it's hardwired to VGA mode, and there is no composite or HDMI output.

It includes the following features:
- Master 128 mode and Model B mode (including ROM images for both)
- the ICE T65 debugger (with AVR supervisor core), wired to the Tx and Rx pins on the esp8266 connector
- the 65C02 Co Processor
- Beeb SID
- Music 5000

This uses about 60% of the LUTs, so things are not particularly tight yet.

There don't seem to be any DIP switches or LEDs, so that makes mode selection a bit tricky. At the moment, holding down the M1 button for 1 second will toggle between Master and Model B modes.

It should be possible to route all the tube signals to the Pi connector, and then make use of Pi Tube Direct on a Pi Zero. I've not made these connections yet, as I don't have the pin assignments for the Pi connector.

Dave

User avatar
BigEd
Posts: 1547
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Fri Dec 08, 2017 4:43 pm

hoglet wrote:It includes the following features:
- Master 128 mode and Model B mode (including ROM images for both)
- the ICE T65 debugger (with AVR supervisor core), wired to the Tx and Rx pins on the esp8266 connector
- the 65C02 Co Processor
- Beeb SID
- Music 5000

This uses about 60% of the LUTs, so things are not particularly tight yet.


Bravo! Plenty of room in an LX16 then!

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Fri Dec 08, 2017 5:27 pm

Some information that we need to complete this....

- How are accel_io(27 downto 0) wired to the 40-pin connector? (Knowing this will let us add support Pi Tube Direct)

- Is csync_o connected to the VGA connector? Or to somewhere else? It seems the RGB usage of the VGA connector is not well documented: https://www.specnext.com/forum/viewtopic.php?f=6&t=820

- What are i2c_scl_io and i2c_sda_io connected to? The DS1307 RTC chip (not fitted)?

- What does audioint_o do?

- Why is mic_port_o an output and ear_port_i an input. This seems the wrong way around.

- What does joysel_o do? I'm guessing it controls a multiplexer to select between the two joystick ports.

- What does joyp7_o do?

- Which chip select should be used for the main SD Card? sd_cs_n_o or sd_cs2_n_o?

- How are the ram_cs_o routed to the RAM chips? i.e. which chip select should is used for the RAM that drives ram_data_io (7 downto 0).

- Are there really no LED driven from the FPGA?

- What's the part number of the 8-pin Winbond? FLASH?

Dave
Last edited by hoglet on Fri Dec 08, 2017 6:18 pm, edited 2 times in total.

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Fri Dec 08, 2017 5:57 pm

BigEd wrote:Yes, I did wonder if it was worth downloading one of their card images and having a look at the magic file.

I've just had a poke around the SD card image:
https://www.specnext.com/next-sd-card-v0-1/

There is nothing in there that's large enough to be an LX16 bitstream (464,318 bytes).

What's interesting is this screen shot:
Sem-título-1cópia.png

does show a file (TBBLUE.TBU) thats the right sort of size, but that's not included in the ZIP.

Here's a short description of the boot process:
https://www.specnext.com/boot-system/

And of the update process, that mentions TBBLUE.TBU:
https://www.specnext.com/updater-module/

Dave

User avatar
BigEd
Posts: 1547
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Fri Dec 08, 2017 6:07 pm

I reckon it's the 96k-sized *.FW file - the firmware - which does the job of reading the *.TBU bitstream file and updating the EEPROM. But is this a Z80 application, or something else?

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Fri Dec 08, 2017 7:12 pm

hoglet wrote:Some information that we need to complete this....

- How are accel_io(27 downto 0) wired to the 40-pin connector? (Knowing this will let us add support Pi Tube Direct)

- Is csync_o connected to the VGA connector? Or to somewhere else? It seems the RGB usage of the VGA connector is not well documented: https://www.specnext.com/forum/viewtopic.php?f=6&t=820

- What are i2c_scl_io and i2c_sda_io connected to? The DS1307 RTC chip (not fitted)?

- What does audioint_o do?

- Why is mic_port_o an output and ear_port_i an input. This seems the wrong way around.

- What does joysel_o do? I'm guessing it controls a multiplexer to select between the two joystick ports.

- What does joyp7_o do?

- Which chip select should be used for the main SD Card? sd_cs_n_o or sd_cs2_n_o?

- How are the ram_cs_o routed to the RAM chips? i.e. which chip select should is used for the RAM that drives ram_data_io (7 downto 0).

- Are there really no LED driven from the FPGA?

- What's the part number of the 8-pin Winbond? FLASH?

Dave


asked the questions.....got this so far....

"Dean Woodyatt Cross reference the FPGA pin tags with TKPIE?"

User avatar
BigEd
Posts: 1547
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Fri Dec 08, 2017 7:28 pm


User avatar
BigEd
Posts: 1547
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Fri Dec 08, 2017 7:33 pm

BigEd wrote:I see a number of resistors and resistor networks near the edge connector - I'm interested to find out how 5V-compatible it is.


It seems there are those who have doubts as to how safe the resistor network approach is, while the Spectrum Next people believe they've done adequate testing:
https://www.specnext.com/forum/viewtopi ... 5702#p5702

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Fri Dec 08, 2017 7:37 pm

BigEd wrote:(That would be https://gitlab.com/victor.trucco/TK-Pie I guess?)

I'd already looked at that, and the schematic uses GPIO numbering directly, rather than accel_io.

I guess we could always beep out a board. But this does all seem rather painful for a board originally marketed as "open source". Is it really that hard to post a PDF of the schematic? Does anyone understand what the issue actually is here with releasing information?

User avatar
BigEd
Posts: 1547
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Fri Dec 08, 2017 7:42 pm

I'd certainly be happy to see a fully open source release - especially as I'm a backer, and it was described as such.

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Fri Dec 08, 2017 10:13 pm

ok obtained some pics for ya. tbh wasnt quite sure what you wanted.

got 14, but herre are the best ones, hope they of some use.
Attachments
25073310_1785764091475215_4731396715302583981_o.jpg
25073129_1785764311475193_323464955805132529_o.jpg
24958964_1785764094808548_6285001973263189708_o.jpg
24879729_1785764174808540_5668440011357717641_o.jpg
24837617_1785764324808525_7659573064166207940_o.jpg
24837334_1785764314808526_8913232044367421902_o.jpg

User avatar
BigEd
Posts: 1547
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Beeb FPGA port to Spectrum Next

Postby BigEd » Fri Dec 08, 2017 10:19 pm

(Thanks for the photos northernbob! I'm tempted to say that I see relatively few capacitors by the FPGA and the SRAMs - let's see what more experienced eyes see.)

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Fri Dec 08, 2017 10:21 pm

Great, thanks, just what I needed to confirm a few things (like the FPGA speed and package)

Can you read the markings on U13?

Dave

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Sat Dec 09, 2017 9:18 am

few more questions answered...

- Is csync_o connected to the VGA connector? Or to somewhere else? It seems the RGB usage of the VGA connector is not well documented: viewtopic.php?f=6&t=820
Most probably, some unused pin on the VGA connector, but the pinout has not been disclosed yet.
Northernbob wrote: ↑Fri Dec 08, 2017 6:56 pm
- What are i2c_scl_io and i2c_sda_io connected to? The DS1307 RTC chip (not fitted)?
Yes, that is the I2C bus.
Northernbob wrote: ↑Fri Dec 08, 2017 6:56 pm
- What does audioint_o do?
It's the connection to the internal (not fitted) speaker.
Northernbob wrote: ↑Fri Dec 08, 2017 6:56 pm
- Why is mic_port_o an output and ear_port_i an input. This seems the wrong way around.
No, it's actually right. MIC is an output on the original Spectrum and EAR, an input. On 48K models, both functions share the same pin, but on later 128K models, there were two different pins from the ULA.
Northernbob wrote: ↑Fri Dec 08, 2017 6:56 pm
- Which chip select should be used for the main SD Card? sd_cs_n_o or sd_cs2_n_o?
My guess is that it should be sd_cs_n_o

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Sat Dec 09, 2017 9:27 am

Thanks for that info, I'll update the design accordingly (mostly just a matter of changing the comments).

Dave

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Sat Dec 09, 2017 10:04 am

u13...

winbond
25Q128JVSQ
1720

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Sat Dec 09, 2017 10:45 am

there could be movement from t he top....just spotted this on the next grp...

Henrique OlifiersGroup admin https://www.specnext.com/next-accelerator-files-v0-1/

Next Accelerator files v0.1 – ZX SPECTRUM NEXT
Next Accelerator files v0.1 December 9, 2017 Carlos…
SPECNEXT.COM
Like · Reply · 2 · 7 hrs

HO: `Actually, this is no longer working, it has been a while since we last updated it. It shows an image, border works, but not functional. Use the github source code as a reference until we have the time to update this and make it functional again. I've unpublished the article`. https://gitlab.com/victor.trucco/TK-Pie/

so i have no idea what they are about to come out with!

dp11
Posts: 716
Joined: Sun Aug 12, 2012 8:47 pm

Re: Beeb FPGA port to Spectrum Next

Postby dp11 » Sat Dec 09, 2017 11:47 am

A quick look at the pictures doesn't give me much confidence of a reliable system, especially if in the future the FPGA contents is changed and pushed to the limits. The spartan6 LX16 FT256 documentation recommends 24 capacitors. Now this is over the top , but I think 4 caps is going a bit too far. What I assume are LDOs for the 1.2v rail and 3.3v rail look as though they might get a bit warm if the FPGA is run hard.

I'd love to see a fully loaded up board pass emc testing as is should to get a CE mark and be sold in europe.

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Mon Dec 11, 2017 1:55 pm

I've been looking at the code here:
https://gitlab.com/victor.trucco/TK-Pie ... /video01.c

I think there's a good chance accel_io[27:0] connect directly to gpio[27:0] on the 40-pin Pi Header.

(You would have to be a crazy hardware designer not to connect them directly!)

What threw me initially was the pin table I usually refer to:
http://www.coocox.org/wiki/images/markd ... pi_pin.png

This doesn't include GPIO0 and GPIO1, but reading around a bit it seems these connect to pins 27 and 28 (and are reserved for connecting to a serial EEPROM on each hat).

Dave

User avatar
fordp
Posts: 925
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England

Re: Beeb FPGA port to Spectrum Next

Postby fordp » Mon Dec 11, 2017 2:41 pm

That diagram does include 0 and 1 for earlier pi's they had to do some swapping about for later pi's and I think it was i2c ports that got swapped.
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Mon Dec 11, 2017 3:50 pm

With a view to making good use of the Spec Next accelerator port, I've just had a go at adding an external tube connection to Beeb FPGA:
https://github.com/hoglet67/BeebFpga/co ... 0bcc1d?w=1

This was mostly a case of just plumbing the right signals out of the core.

As a proof of concept, here's a Pi Zero wired up directly to the DE1. Everything is 3.3V, so no level shifters required.
IMG_1147.JPG

Shame the 40 pin connectors are not directly compatible, due to the fixed placement of power pins...

And it worked first time!
IMG_1148.JPG

Dave

User avatar
hoglet
Posts: 6698
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: Beeb FPGA port to Spectrum Next

Postby hoglet » Mon Dec 11, 2017 5:09 pm

I've now added support for Pi Tube Direct as an external coprocessor / accelerator in the Spec Next build:
https://github.com/hoglet67/BeebFpga/co ... 8c04596247

This is assuming accel_io(27:0) map directly to gpio(27:0)...

I've also added a pull down on D0, so the Model B boot doesn't hang if the Pi is missing.

All completely untested, as is everything else at the moment.

Dave

northernbob
Posts: 49
Joined: Fri Nov 24, 2017 6:49 am

Re: Beeb FPGA port to Spectrum Next

Postby northernbob » Mon Dec 11, 2017 8:37 pm

afraid am gonna be slacking a bit, this week. its crazy party season going on here! am booked up for the next 7 days (well 6+1 star wars film)

` an external tube connection`

am a bit confused with your wording there. thats an actual circuit in the fpga?

btw, with regard to cores....is there a master core made up? how much larger would that be?

does the model b core inc any vram ? i believe tbblue has 128k of vram in the core.
surely the model b isnt vastly bigger than the z80 core, there must be some free fpga space to add, little extras?

AM rusty on bbc architecture in the 1988-1995 era. I played with a acorn pc in 1995, owned by one my computer lecturers at uni.
Which version of risc os, would that have run? v3?
which is the smallest risc cpu that can run risc os? I mean i guess the cpu from ` The A3010 model ` is too large for the fpga in the next?
btw am just thinking out loud/forward here!
Is the ARM250 an open core? is there something like this that would fit on the next.
WOuldnt a risc based cpu, be easier to accelerate, than a z80. I suspect am asking the wrong question there )

basically, which is the most advanced risc cpu, that fits on the next fpga, that can be accelerated to the `highest level` ? using the copro lever/crowbar!

dp11
Posts: 716
Joined: Sun Aug 12, 2012 8:47 pm

Re: Beeb FPGA port to Spectrum Next

Postby dp11 » Mon Dec 11, 2017 9:13 pm

A Pi zero will beat any FPGA core.


Return to “hardware”

Who is online

Users browsing this forum: No registered users and 9 guests