Jam STAPL allows all the programming to be done by one software program. SVF Files to Jam Files from any other programmable logic device (PLD) vendors. Clock source. GCLK pins are optimized to distribute a clock signal to all macrocells with minimum skew and resources. If you plan to use a clock with the CPLD, connect it to one of these pins if possible. The GCLK features must be applied in the CPLD design or the GCLK pin will be an ordinary IO pin.
Programming the RGBtoHDMI CPLD...
These instructions apply to both the Atom and Beeb versions of RGB to HDMI. The adaptor board is referred to generically as the 'RGBtoHDMI hat', or just 'the hat'.
Download the latest JEDEC file (currently these links point to the dev branch):
- for the Beeb Adapter board: vhdl/RGBtoHDMI.jed
- for the Atom Adapter board: vhdl_atom/RGBtoHDMI.jed
(in githib you need to click on RAW, then do Save-As and make sure the suffix is .jed)
Separate the RGBtoHDMI hat ('the hat') from the Pi Zero.
On the hat, use a meter to check for shorts between 5V and 0V (on the video input connector), and between 3V3 and 0V (on the programming header). It would be a shame to blow up the Atom/Beeb or the Pi.....
Plug the Xilinx Platform Cable Programmer ('the programmer') into your PC's USB port.
Launch Xilinx iMPACT ('the programming software').
It will ask 'Do you want the system to automatically create and save a project file for you?'. Click [No].
It will then bring up a 'New iMPACT Project' dialog. Click [Cancel].
At this point the status LED on the programmer should be red (meaning no voltage present on the VREF pin). If the LED is off, you have a problem with the platform cable drivers on the PC.
Plug the hat into a Pi Zero (this is needed to power the CPLD during programming).
Connect the 6-pin programmer cable from the programmer to the 6-pin programming header on the hat, making sure that the VREF pin on the programmer is connected to the 3V3 pin on the hat.
(You can also, if you like, insert the SD card into the Pi and connect up the HDMI cable to a monitor, but neither of these are important for CPLD programming. It just means as soon as the CPLD is programmed, everything springs into life)
Connect the cable from the Atom/Beeb to the RGBtoHDMI hat:
- On the Atom this is a short 10-way IDC Cable that plugs into the Atom's PL4 socket
- On the Beeb this is an RGB-to-Molex Cable that plugs into the Beeb's RGB socket
Power up the Atom/Beeb.
At this point the status LED on the programmer should turn green. If it doesn't switch the Atom/Beeb off quickly because something is not right.
In iMPACT, double clock on 'Boundary Scan'.
Press Ctrl-I to initialize the scan chain (or right click in the Boundary Scan panel and select 'Initialize Chain'.
At this point a grey Xilinx chip should appear in the Boundary Scan panel, with 'xc9572xl bypass' underneath. If it doesn't switch the Beeb off quickly because something is not right. Check for shorts on the CPLD soldering, or the CPLD being soldered with the wrong orientation.
An 'Auto Assign Configuration Files' dialog box will come up, click [Yes].
Navigate to the JEDEC file you downloaded, select it, then click [Open].
A 'Device Programming Properties' dialog box will come up, click [OK] to select the defaults.
Right-click on the green Xilinx chip and select the Program option.
Programming takes about 10 seconds, and ends with 'Program Succeeded' banner in blue.
Click [x] to exit iMPACT.
A 'Save Project' dialog box will come up, clock 'No'.
You are done programming!
Programming the RGBtoHDMI CPLD...
These instructions apply to both the Atom and Beeb versions of RGB to HDMI. The adaptor board is referred to generically as the 'RGBtoHDMI hat', or just 'the hat'.
Download the latest JEDEC file (currently these links point to the dev branch):
- for the Beeb Adapter board: vhdl/RGBtoHDMI.jed
- for the Atom Adapter board: vhdl_atom/RGBtoHDMI.jed
(in githib you need to click on RAW, then do Save-As and make sure the suffix is .jed)
Separate the RGBtoHDMI hat ('the hat') from the Pi Zero.
On the hat, use a meter to check for shorts between 5V and 0V (on the video input connector), and between 3V3 and 0V (on the programming header). It would be a shame to blow up the Atom/Beeb or the Pi.....
Plug the Xilinx Platform Cable Programmer ('the programmer') into your PC's USB port.
Launch Xilinx iMPACT ('the programming software').
It will ask 'Do you want the system to automatically create and save a project file for you?'. Click [No].
It will then bring up a 'New iMPACT Project' dialog. Click [Cancel].
At this point the status LED on the programmer should be red (meaning no voltage present on the VREF pin). If the LED is off, you have a problem with the platform cable drivers on the PC.
Plug the hat into a Pi Zero (this is needed to power the CPLD during programming).
Connect the 6-pin programmer cable from the programmer to the 6-pin programming header on the hat, making sure that the VREF pin on the programmer is connected to the 3V3 pin on the hat.
(You can also, if you like, insert the SD card into the Pi and connect up the HDMI cable to a monitor, but neither of these are important for CPLD programming. It just means as soon as the CPLD is programmed, everything springs into life)
Connect the cable from the Atom/Beeb to the RGBtoHDMI hat:
- On the Atom this is a short 10-way IDC Cable that plugs into the Atom's PL4 socket
- On the Beeb this is an RGB-to-Molex Cable that plugs into the Beeb's RGB socket
Power up the Atom/Beeb.
At this point the status LED on the programmer should turn green. If it doesn't switch the Atom/Beeb off quickly because something is not right.
In iMPACT, double clock on 'Boundary Scan'.
Press Ctrl-I to initialize the scan chain (or right click in the Boundary Scan panel and select 'Initialize Chain'.
At this point a grey Xilinx chip should appear in the Boundary Scan panel, with 'xc9572xl bypass' underneath. If it doesn't switch the Beeb off quickly because something is not right. Check for shorts on the CPLD soldering, or the CPLD being soldered with the wrong orientation.
An 'Auto Assign Configuration Files' dialog box will come up, click [Yes].
Navigate to the JEDEC file you downloaded, select it, then click [Open].
A 'Device Programming Properties' dialog box will come up, click [OK] to select the defaults.
Right-click on the green Xilinx chip and select the Program option.
Programming takes about 10 seconds, and ends with 'Program Succeeded' banner in blue.
Click [x] to exit iMPACT.
A 'Save Project' dialog box will come up, clock 'No'.
You are done programming!