Does anyone know of any documention for the extended I/O (XC9572XLTQ100) on the MOD-DEV-100 development board? I can figure out the LEDs, DIP switches and 7 Segment display but it does not see there is any existing call to get the decimal point of the 7 segment display to turn on nor access any other of the I/O pins.
Bill
Accessing Extended I/O on MOD-DEV-100
-
- Posts: 2
- Joined: Mon Oct 05, 2009 2:34 pm
Re: Accessing Extended I/O on MOD-DEV-100
Any answer to this question? I see it was posted about a year ago. I, too, would like to know more about the IO on the MOD-DEV-100.
Also, for our application, we're planning on using a similar CPLD to the one that's on the board, so we plan to use that one for some prototyping, but before we go and reprogram it, it would be helpful to have the original CPLD program that comes from the factory.
Any info on this?
Also, for our application, we're planning on using a similar CPLD to the one that's on the board, so we plan to use that one for some prototyping, but before we go and reprogram it, it would be helpful to have the original CPLD program that comes from the factory.
Any info on this?
Re: Accessing Extended I/O on MOD-DEV-100
The schematics come with the development kit. Once you know which processor signals are connected and where, isn't that enough information for someone to reprogram the xilinx to do whatever they want it to do?
Re: Accessing Extended I/O on MOD-DEV-100
Hi,
I am attaching a zip that contains the latest revision of the CPLD for the MOD-DEV-100. There are 3 files included:
MOD_DEV_100_CPLD_R1p4.jed - Compiled binary programming file, will bring you back to factory configuration
MOD-DEV-100v1p12.ucf - Contains the pin configuration of the CPLD. This same file can be used in your custom CPLD project. The test point (TP) pins from the MOD-DEV-100 schematic are not included in this ucf file, you may want to add these for your GPIO project.
MOD-DEV-100-CPLD-R1p4.v - Verilog code used to interface with the CPLD. This may be a good starting point for your project. Most of the resources are used in controlling the 7-seg display so you may want to remove that code. The data bus stuff will likely be very similar in any CPLD application.
These files are very helpful when modifying the dev board CPLD. I will look into getting this installed with future builds or at least posted on the support site.
-Larry
I am attaching a zip that contains the latest revision of the CPLD for the MOD-DEV-100. There are 3 files included:
MOD_DEV_100_CPLD_R1p4.jed - Compiled binary programming file, will bring you back to factory configuration
MOD-DEV-100v1p12.ucf - Contains the pin configuration of the CPLD. This same file can be used in your custom CPLD project. The test point (TP) pins from the MOD-DEV-100 schematic are not included in this ucf file, you may want to add these for your GPIO project.
MOD-DEV-100-CPLD-R1p4.v - Verilog code used to interface with the CPLD. This may be a good starting point for your project. Most of the resources are used in controlling the 7-seg display so you may want to remove that code. The data bus stuff will likely be very similar in any CPLD application.
These files are very helpful when modifying the dev board CPLD. I will look into getting this installed with future builds or at least posted on the support site.
-Larry
- Attachments
-
- MOD-DEV-100-CPLD-R1p4.zip
- MOD-DEV-100 CPLD source and binary
- (9.55 KiB) Downloaded 422 times
Re: Accessing Extended I/O on MOD-DEV-100
To answer your original question... The devboard funtions are declared in:
C:\nburn\include\utils.h
and the source can be found here:
C:\nburn\(PLATFORM_NAME)\system\ioboard.c
If you have a newer release of the NNDK and a CPLD programmed with version 1p4 of the CPLD then there are new functions you can use for the display for decimal points. You can check the CPLD version with getCPLDver(); and the revision with getCPLDrev();
void putDecimal( unsigned char DisplayMask );
So calling putDecimal( 0x2 ); should put a decimal place after the second digit.
You can also turn off the auto-cycling of the CPLD display and do it your self in software. This will allow you to display what ever you choose on the displays. If you want to have different chars displayed on the segments then you will need to manually cycle through the displays in your code. This would best be done in an interrupt routine for a hardware timer.
void putSegments( unsigned char DisplayMask, unsigned char DisplayData);
There are no functions to access the other unused I/O on the CPLD, these are brought out to the carrier as TP signals on the PCB. You can modify the existing design or create your own to access these signals.
-Larry
C:\nburn\include\utils.h
and the source can be found here:
C:\nburn\(PLATFORM_NAME)\system\ioboard.c
If you have a newer release of the NNDK and a CPLD programmed with version 1p4 of the CPLD then there are new functions you can use for the display for decimal points. You can check the CPLD version with getCPLDver(); and the revision with getCPLDrev();
void putDecimal( unsigned char DisplayMask );
So calling putDecimal( 0x2 ); should put a decimal place after the second digit.
You can also turn off the auto-cycling of the CPLD display and do it your self in software. This will allow you to display what ever you choose on the displays. If you want to have different chars displayed on the segments then you will need to manually cycle through the displays in your code. This would best be done in an interrupt routine for a hardware timer.
void putSegments( unsigned char DisplayMask, unsigned char DisplayData);
There are no functions to access the other unused I/O on the CPLD, these are brought out to the carrier as TP signals on the PCB. You can modify the existing design or create your own to access these signals.
-Larry
-
- Posts: 2
- Joined: Mon Oct 05, 2009 2:34 pm
Re: Accessing Extended I/O on MOD-DEV-100
Excellent. This is exactly what I was looking for. Thanks!