Posts tagged ‘Xilinx’

November 20, 2008

Refreshing dengan CPLD programmer

Board XC2XL

Board XC2XL

Seminggu ini, saya mengkode HDL (verilog) untuk framer/deframer menggunakan CPLD dari data paralel 8-bit untuk TDM 4-channel menjadi 32-bit serial sinkronos terhadap 8kHz sinyal sinkronisasi di clock 2,048MHz. Problem simulasi telah diatasi. Sintesis di CPLD Xilinx menggunakan ISE tidak ada masalah. Fitting masuk ke CPLD dengan jumlah makrocell 256, karena desain yang dibuat membutuhkan 157 macrocell (utilitas 62%).

Development board CPLD menggunakan Digilent XC2-XL yang di dalamnya terdapat Xilinx CPLD CoolRunner XC2C256 dan XC9572XL. SUmber sinyal clock on-board, dengan default clock 1.8432 MHz. Daripada memprogram ulang HDL karena clock tersebut harus sinkron terhadap 8KHz, chip clock diganti dengan chip clock CMX902-2.048MHz yang kebetulan saya punya.

Digilent XC2-XL menyertakan kabel parallel JTAG3, tapi masalahnya iMPACT cable driver tidak bisa terinstall di Linux, karena membutuhkan modul kernel windrv dari Jungo. Install di Windows? saya harus berpikir beberapa kali untuk makai Windows. Mendingan menggunakan jtagprog dan kabel JTAG IGLOO yang saya punya untuk memprogram CPLDnya. Beberapa pin perlu disesuaikan dengan layout interface JTAG dari XC2-XL, tapi itu tidak jadi masalah.

Install jtagprog di Linux dengan configure, make dan make install (yang terakhir harus menggunakan root). Kabel parallel dihubungkan ke sistem Linux dan board dinyalakan.

didik@didik-desktop:~/jtagprog-bf532-ip04$ sudo jtag
JTAG Tools 0.5.1-bf1
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2006 Intratrade Ltd.
JTAG Tools is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for JTAG Tools.

Warning: JTAG Tools may damage your hardware! Type "quit" to exit!

Type "help" for help.
jtag> cable parallel 0x378 IGLOO
Initializing Excelpoint IGLOO JTAG Cable on parallel port at 0x378
jtag> detect
IR length: 8
Chain length: 1
Device Id: 01001001011000000100000010010011
Manufacturer: Xilinx
Unknown part!
chain.c(110) Part 0 without active instruction
chain.c(133) Part 0 without active instruction
chain.c(110) Part 0 without active instruction

Wow, device CPLD tidak terdeteksi, tapi Device Id bisa keluar. Ini disebabkan jtagprog tidak mengenali part tersebut. Solusinya adalah dengan mengedit file /usr/local/share/jtag/xilinx/PARTS (instalasi ke DESTDIR=/usr/local) dengan menambahkan nilai Device ID yang didapatkan, sebagai berikut:

# bits 27-12 of the Device Identification Register
0100100010001001 . XCR3128XL-VQ100
0100100010001011 . XCR3128XL-TQ144
0100100010001100 xcr3128xl-cs144 XCR3128XL-CS144
0100100101001110 xcr3256xl-ft256 XCR3256XL-FT256
0110110101001100 xc2c256-tq144 XC2C256-TQ144
1001011000000100 xc2c256-tq144 XC2C256-TQ144 <- Saya menambahkan baris ini

Sekali lagi detect device:

jtag> detect
IR length: 8
Chain length: 1
Device Id: 01001001011000000100000010010011
Manufacturer: Xilinx
Part: XC2C256-TQ144
Stepping: 0
Filename: /usr/local/share/jtag/xilinx/xc2c256-tq144/xc2c256-tq144

Beres, programming tools untuk CPLD telah siap.

Iklan
April 17, 2008

Using CPLD to Decoding Large Number of Device’s Enables

Ini adalah postingan di blog saya terdahulu yang sudah mati… Mungkin masih relevan.

This article is adapted from David’s telephony project on how to expand blackfin STAMP SPORT select lines so that we can access multiple SPI devices across multiple cards using only a small number of SPI lines available on the SPORT connector. However, the CPLD design basically has been changed from its David’s origin version as it’s purposed for 8fx. This 8fx is SPORT daughter board to support upto 8 telephony ports, SD card, and 8 LED line-drivers.
You can use this article as an example implementation of cpld on which may targeted to other boards.

Introduction

On the 8fx card a Xilinx CPLD is used to (i) expand the number SPI select lines available and (ii) provide a register to drive the LEDs. The blackfin STAMP SPORT connectors have only a limited number of SPI select lines available. However on the 8fx design we have many SPI devices:

read more »