stm

General technical questions

Recommended Posts

Hi,

 

I'm new to FPGA programming. I'm interested in the Papilio DUO and I have some general technical questions.

 

I have an old 6502-based computer (Ohio Scientific Challenger 1P). The project that I'm thinking of is to build a floppy controller with simulated floppy drives. An SD card would be used to provide the floppy storage. I would also like to implement a 32 kB RAM expansion for the machine.

 

My first question is, would the Papilio DUO be an appropriate platform for this kind of project? The FPGA would need to provide the logic that on the real board was implemented with an 6820 and 6580 chip and additional TTL logic chips. To avoid any confusion, I'm talking here about 1980's technology, where the CPU was clocked with 1 MHz.

 

The second question is, how exactly can the 512 kB or 2 MB RAM of hte Papilio DUO be used? Is the RAM exclusively needed for storing the logical configuration of the FPGA, or could it also be used to store data, and  the FPGA makes it look like RAM to the 6502 CPU?

 

Thanks for your time

Stephan

Share this post


Link to post
Share on other sites

My first question is, would the Papilio DUO be an appropriate platform for this kind of project? The FPGA would need to provide the logic that on the real board was implemented with an 6820 and 6580 chip and additional TTL logic chips. To avoid any confusion, I'm talking here about 1980's technology, where the CPU was clocked with 1 MHz.

You're going to have to create a level shifter board to sit between the two (the FPGA is designed to work with up to 3.3V logic, the 6502 works at 5V). Other than that, you're good.

The second question is, how exactly can the 512 kB or 2 MB RAM of hte Papilio DUO be used? Is the RAM exclusively needed for storing the logical configuration of the FPGA, or could it also be used to store data, and  the FPGA makes it look like RAM to the 6502 CPU?

You can use the RAM for anything you can think of, provided that it is fast enough and you have enough free gates on the FPGA for your design. At 10ns it's more than fast enough to feed a 6502, and adding page selection logic plus emulating the old FD controller isn't stretching the Duo's capacity (you could implement the entire Challenger in FPGA logic, including the 6502, and still have free capacity.
  • Like 1

Share this post


Link to post
Share on other sites

Steve,

 

You're going to have to create a level shifter board to sit between the two (the FPGA is designed to work with up to 3.3V logic, the 6502 works at 5V). Other than that, you're good.

You can use the RAM for anything you can think of, provided that it is fast enough and you have enough free gates on the FPGA for your design. At 10ns it's more than fast enough to feed a 6502, and adding page selection logic plus emulating the old FD controller isn't stretching the Duo's capacity (you could implement the entire Challenger in FPGA logic, including the 6502, and still have free capacity.

thanks for your assessment, that encourages me to get started with a Papilio DUO for this project.

Share this post


Link to post
Share on other sites

You're going to have to create a level shifter board to sit between the two (the FPGA is designed to work with up to 3.3V logic, the 6502 works at 5V). Other than that, you're good.

 

I tried to research what level shifters would be usable for this purpose, but I did not find a definite answer.

 

Would the I/O Buffer Wing from the Gadget Factory store be ok for that? 

 

If I understand the corresponding entry in the papilio Wiki correctly, it is not a true level shifter. It only down-shifts 5V to 3.3V, but in the output direction it does not upshift to 5 V. From the Wiki:

Specifications
  • All inputs are 5V tolerant.
  • Outputs are 3.3V at most, this is usually sufficient to drive 5V logic levels. 

 

Would that work with a 6502? What other level shifters could be used in this context, that truly provide 5V outputs? I could not find any chips or boards that do this and that are 16 bits wide or better 32 bits wide.

Share this post


Link to post
Share on other sites

With suitable level shifters you can simply wire the 6502 directly to the FPGA. There are similar projects that use a PIC or similar device to do this.

 

Another option, which has its own big set of advantages is to use one of the 6502 FPGA cores and put the entire thing on the FPGA. That way you can have your 32MHz 6502 with 512Kb of banked memory and all the other bits you fancy.

 

Alan

Share this post


Link to post
Share on other sites

With suitable level shifters you can simply wire the 6502 directly to the FPGA. There are similar projects that use a PIC or similar device to do this.

 

Another option, which has its own big set of advantages is to use one of the 6502 FPGA cores and put the entire thing on the FPGA. That way you can have your 32MHz 6502 with 512Kb of banked memory and all the other bits you fancy.

 

Alan

I have ordered these level shifters and I hope they are suitable: Texas Instruments SN74LVC16T245DL

 

It's good to know that I could put the entire 6502 processor into the FPGA. But the point is that I want to create a floppy controller and floppy disk emulation for my real physical old computer...

 

Stephan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now