Next revision
|
Previous revision
|
builderpages:plasmo:6502:cpld6502:cpld6502r1 [2022/04/18 09:46] plasmo created |
builderpages:plasmo:6502:cpld6502:cpld6502r1 [2023/04/22 23:51] (current) plasmo |
====== CPLD Educational Board with 6502 Processor, CPLD6502 Rev 0 ====== | ====== CPLD Educational Board with 6502/Z80 Processor, CPLD6502 Rev 1 ====== |
| |
===== Introduction ===== | ===== Introduction ===== |
| |
CPLD6502 explores the world of complex programmable logic device (CPLD) and how it interact with a 6502 processor and memories. Discussion about the CPLD6502 trainer can be found [[http://forum.6502.org/viewtopic.php?f=10&t=6974|here]]. | CPLD Trainer explores the world of complex programmable logic device (CPLD) and how it interact with 6502, Z80, and other processor and memories. Discussion about the CPLD trainer can be found [[http://forum.6502.org/viewtopic.php?f=10&t=6974|here]]. This is the [[:builderpages:plasmo:6502:cpld6502:cpld6502r0|link]] to previous version (rev0) of CPLD trainer. |
| |
{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/cpldtrainerforz806502andgenericcpu.jpg?direct&600x593}} | [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=794fcf&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/cpldtrainerforz806502andgenericcpu.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/cpldtrainerforz806502andgenericcpu.jpg?direct&600x593|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_cpld6502_cpldtrainerforz806502andgenericcpu.jpg}}]] |
| |
| ===== Features ===== |
| |
| ===== Design Files ===== |
| |
| {{:builderpages:plasmo:6502:cpld6502:trainer6502z80_rev1_scm.pdf|Schematic}} |
| |
| {{:builderpages:plasmo:6502:cpld6502:trainer_r1_gerber.zip|Gerber photoplots}} |
| |
| ==== Z80 Implementation ==== |
| |
| Z80 implementation requires 14.7MHz oscillator, CMOS Z80, 512K RAM (e.g. AS6C4008), and 512K flash (e.g. SST39SF040) |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=aff33c&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/trainerwithz80.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/trainerwithz80.jpg?direct&400x559|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_cpld6502_trainerwithz80.jpg}}]] |
| |
| {{:builderpages:plasmo:6502:cpld6502:trainer_cpld_rev1pcb_z80_i2c.zip|Z80 CPLD design file}} to run ROMWBW <- updated release 6/5/22 with added I2C function |
| |
| {{:builderpages:plasmo:6502:cpld6502:rcz80_trainer_z80_bit_bang_tx.zip|ROMWBW}} program for 512K boot flash such as SST39SF040 |
| |
| {{:builderpages:plasmo:6502:cpld6502:life_gosper_gun_for_128x64oled_i2c_1.zip|Game of Life, Gosper gun}}. Require 128×64 OLED display installed on I2C connector (see picture below). Load .hex program with ROMWBW monitor and run from 0x1000. |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=5512a9&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/trainer_with_128x64oled_display_installedcopy_1.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/trainer_with_128x64oled_display_installedcopy_1.jpg?direct&250x140|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_cpld6502_trainer_with_128x64oled_display_installedcopy_1.jpg}}]] |
| |
| ==== 6502 Implementation ==== |
| |
| 6502 implementation requires 7.37MHz oscillator, W65C02, 512K RAM (e.g. AS6C4008), and 512K flash (e.g. SST39SF040) |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=2607dd&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/trainerwith6502.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/trainerwith6502.jpg?direct&400x520|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_cpld6502_trainerwith6502.jpg}}]] |
| |
| 6502 CPLD design file |
| |
| 6502 monitor |
| |
| ---- |
| |
| ===== Training Sessions ===== |
| |
| Discussion about the CPLD6502 trainer can be found [[http://forum.6502.org/viewtopic.php?f=10&t=6974|here]]. The sessions were done with [[:builderpages:plasmo:6502:cpld6502:cpld6502r0|rev0]] of CPLD trainer; because of small differences between rev0 and rev1 design, some CPLD design files are updated to work with rev1 design. |
| |
| Design files and software for the various sessions |
| |
| Jan 27, 2022 ,[[http://forum.6502.org/viewtopic.php?f=10&t=6974&sid=a039497ff72fcc909848eb2e2785b9ab#p90404|Session 1]], Initial power up and first CPLD program. {{:builderpages:plasmo:6502:cpld6502:cpld_1st_test.zip|Session 1 CPLD design files}} |
| |
| Jan 28, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&sid=a039497ff72fcc909848eb2e2785b9ab#p90450|Session 2]], multiplexing 7-segment displays. {{:builderpages:plasmo:6502:cpld6502:cpld_7hz_7-seg_display_drive.zip|Session 2 CPLD design files}} |
| |
| Jan 30, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&sid=a039497ff72fcc909848eb2e2785b9ab#p90497|Session 3]], 6-digit 7-segment display. {{:builderpages:plasmo:6502:cpld6502:cpld_7-seg_display_counts.zip|Session 3 CPLD design files}} |
| |
| Jan 31, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&sid=a039497ff72fcc909848eb2e2785b9ab#p90535|Session 4]], lookup table and true 6-digit hex display. {{:builderpages:plasmo:6502:cpld6502:cpld_7-seg_hex_display.zip|Session 4 CPLD design files}} |
| |
| Feb 1, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&sid=a039497ff72fcc909848eb2e2785b9ab#p90564|Session 5]], 6502 NOP test. {{:builderpages:plasmo:6502:cpld6502:cpld_nop_test.zip|Session 5 CPLD design files}} |
| |
| Feb 2, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&sid=a039497ff72fcc909848eb2e2785b9ab#p90599|Session 6]], tester for 6502. {{:builderpages:plasmo:6502:cpld6502:cpld_rom_simpletx.zip|Session 6 CPLD design files}} |
| |
| Feb 3, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&sid=a039497ff72fcc909848eb2e2785b9ab#p90620|Session 7]], EPROM and RAM decode. Session 7 CPLD design files |
| |
| Feb 4, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&start=15#p90640|Session 8]], RAM diagnostic. RAM diagnostic source files |
| |
| Feb 5, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&start=15#p90670|Session 9]], 6502 SBC with serial port in CPLD. Session 9 CPLD design files |
| |
| Feb 6, 2022, [[http://forum.6502.org/viewtopic.php?f=10&t=6974&start=15#p90680|Session 10]], Monitor for 6502 SBC. Session 10 CPLD design files, CPLD6502 SBC monitor software. |
| |
| ===== Projects for 6502-based Trainer ===== |
| |
| [[:builderpages:plasmo:6502:cpld6502:cpld6502r1:vga_beam_racing|VGA beam racing]] is a W65C02 overclocked to 25.175MHz, the 60Hz 640x480 VGA dot clock, such that 6502 fetch a byte every 8 clocks that's shifted out to VGA monitor at pixel clock rate. This results in monochrome 640x480 resolution images. |
| |
| {{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/cpld6502/6502trainerasvgacontroller.jpg?direct&300x190}} |
| |
| |