User Tools

Site Tools


xilinx:spartan3e

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
xilinx:spartan3e [2009/06/04 19:52] – created - external edit 127.0.0.1xilinx:spartan3e [2022/05/16 05:17] (current) vak
Line 1: Line 1:
 +====== Хардвер ======
 +[[:verilog:hw-spar3e-sk|{{ http://www.xilinx.com/bvdocs/images/ipcenter/product_images/HW-SPAR3E-SK-US_t.jpg}}]]
 +Для поделок в области программируемой логики я приобрел инструментальную
 +плату Xilinx
 +[[http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?sSecondaryNavPick=BOARDS&key=HW-SPAR3E-SK-US&sGlobalNavPick=PRODUCTS | Spartan-3E Starter Kit]].
 +Весьма недорогая, [[http://www.plis.ru/page.php?id=77 | в Москве $150]].
 +Есть выход VGA, два порта RS-232 и один порт PS/2 для клавиатуры.
 +Для подключения к 100-контактному расширителю нужны разъемы
 +FX2-100S-1.27DS (на плату) или FX2BA-100SA-1.27R (на кабель).
 +
 +На плате установлена FPGA
 +[[http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?iLanguageID=1&category=/Data+Sheets/FPGA+Device+Families/Spartan-3E | XC3S500E]]
 +из серии
 +[[http://www.xilinx.com/products/silicon_solutions/fpgas/spartan_series/spartan3e_fpgas/overview.htm | Xilinx Spartan3E]]
 +в корпусе FG-320.
 +Чип имеет 10000 гейтов и стоит около $40.
 +
 +Существуют варианты попроще:
 +  * [[http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD&Nav1=Products&Nav2=Programmable | Spartan-3 Board]] (XC3S200) --- $99
 +  * [[http://www.digilentinc.com/Products/Detail.cfm?Prod=NEXYS&Nav1=Products&Nav2=Programmable | Nexys]] (XC3S200) --- $99
 +  * [[http://www.digilentinc.com/Products/Detail.cfm?Prod=BASYS&Nav1=Products&Nav2=Programmable | Basys System Board]] (XC3S100E) --- $59
 +и посложнее:
 +  * [[http://www.digilentinc.com/Products/Detail.cfm?Prod=S3E1600&Nav1=Products&Nav2=Programmable | Spartan 3E-1600 Development Board]] (XC3S1600E) --- $295
 +  * [[http://www.digilentinc.com/Products/Detail.cfm?Prod=FX12&Nav1=Products&Nav2=Programmable | FX12 Board]] (Virtex-4 FX12) --- $299
 +
 +Три младших микросхемы семейства Spartan-3E имеют исполнение в корпусе QFP.
 +В таблице приведены количество сигналов ввода-вывода и примерная цена.
 +
 +^               Корпус: ^  vq100  ^  tq144  ^  pq208  ^
 +^  Количество сигналов: |  66      108    |  158    |
 +^         Цена xc3s100e |  $17    |  $20    |  -- --  |
 +^         Цена xc3s250e |  нет?    $26    |  нет?   |
 +^         Цена xc3s500e |  -- --  |  -- --  |  $40?   |
 +
 +Для радиолюбительского монтажа корпусов VQFP100, TQFP144, PQFP208 с шагом
 +0.5 мм годятся
 +[[http://www.deol.ru/users/mictech/qfp05.htm | макетные платы QFP05]]
 +[[http://www.deol.ru/users/mictech/maket.htm | фирмы "Миктех"]].
 +
 +====== Документация ======
 +  * {{starter-kit-ug230.pdf | Руководство пользователя }} для платы Spartan-3E Starter Kit.
 +  * Полное {{spartan-3e.pdf | описание семейства Spartan-3E}}.
 +  * Описание примитивов и макросов {{spartan-3e-hdl.pdf | семейства Spartan-3E для VHDL и Verilog}}.
 +  * Универсальная заготовка {{s3esk-generic.ucf | файла ограничений}} для платы Spartan-3E Starter Kit.
 +  * Таблица ножек для {{xc3s500e-fg320.txt | xc3s500e в корпусе fg320}}.
 +  * {{s3e_pin.zip | Таблицы ножек}} для всех микросхем семейства Spartan-3E в форматах Excel и CSV.
 +  * [[synchronizers | Метастабильность и синхронизаторы]].
 +
 +===== Verilog =====
 +Для разработки выбран язык Verilog.
 +  * [[http://ru.wikipedia.org/wiki/Verilog | Статья в Википедии]]
 +  * {{verilog:verilog-rus.pdf | Краткий обзор}} из журнала "Схемотехника" 2001/02.
 +
 +Разработка делится на два этапа:
 +  * моделирование (simulation) --- проверка правильности функционирования создаваемого устройства;
 +  * синтез (synthesis) --- создание файла "прошивки" для загрузки в микросхему программируемой логики (ПЛИС, FPGA).
 +
 +Документация по Verilog:
 +  * {{verilog:petervrlk.pdf | Introduction to Verilog}} - прекрасный учебник по языку.
 +  * [[http://www.sutherland-hdl.com/on-line_ref_guide/vlog_ref_top.html | On-line Verilog Quick Reference Guide]].
 +  * {{http://www-ee.eng.hawaii.edu/~msmith/ASICs/Files/pdf/CH11.pdf | Глава про Verilog}} из книги [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/ASICs.htm | "Application-Specific Integrated Circuits"]].
 +  * Официальная спецификация IEEE Verilog(TM) HDL Language Reference Manual. [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/TOC/ieeeLRMTOC.htm | Содержание]], главы [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/01/ch01.htm | 1]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/02/ch02.htm | 2]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/03/ch03.htm | 3]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/04/ch04.htm | 4]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/05/ch05.htm | 5]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/06/ch06.htm | 6]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/07/ch07.htm | 7]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/08/ch08.htm | 8]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/09/ch09.htm | 9]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/10/ch10.htm | 10]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/11/ch11.htm | 11]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/12/ch12.htm | 12]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/13/ch13.htm | 13]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/14/ch14.htm | 14]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/15/ch15.htm | 15]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/16/ch16.htm | 16]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/17/ch17.htm | 17]], [[http://www-ee.eng.hawaii.edu/~msmith/ASICs/HTML/Verilog/LRM/HTML/IX/ieeeLRMIX.htm | индекс]].
 +  * [[http://www.doulos.com/knowhow/verilog_designers_guide/ | Designer’s Guide to Verilog]] - пошаговое введение в Verilog.
 +  * [[http://www.fpga4fun.com/ | Сайт для разработчиков FPGA]] - много полезного.
 +
 +Есть интересные [[http://www.cs.berkeley.edu/~kubitron/courses/cs152-S01/index_lectures.html | лекции профессора Джона Кубиатовича]] по разработке микропроцессоров.
 +
 +====== Программное обеспечение ======
 +Xilinx подкупает наличием бесплатного софта, в том числе под Linux ---
 +[[http://www.xilinx.com/webpack/ | ISE Webpack]]. Как использовать Xilinx
 +ISE под Linux [[verilog:linux | описывается здесь]].
 +
 +====== Загрузка прошивки ======
 +Для работы микросхемы FPGA в нее надо загрузить прошивку.
 +Это происходит при нажатии кнопки PROG. Светодиод "DONE" показывает,
 +что процесс загрузки успешно завершился и FPGA готова к работе.
 +
 +На плате есть три вида памяти, в которых может храниться файл прошивки:
 +  * 512 килобайт Platform Flash --- специализированная микросхема [[http://www.xilinx.com/products/silicon_solutions/proms/pfp/spartan.htm | Xilinx XCF04S]]
 +  * 2 мегабайта последовательной Flash-памяти --- [[http://www.st.com/stonline/stappl/productcatalog/app?path=/comp/stcom/PcStComRPNTableView.onClickFromPartNumber&code=85673&subclassid=407&subclassheader=Serial%20Flash%20for%20Code%20Storage,%20M25P | ST Micro 25P16V6G]]
 +  * 16 мегабайт параллельной Flash-памяти --- [[http://www.intel.com/design/flcomp/prodbref/308275.htm | Intel TE28F128]]
 +
 +Или FPGA может загружаться через порт USB непосредственно из внешнего
 +компьютера. Выбор производится джамперами J30.
 +Файл прошивки для микросхемы XC3S500E имеет размер 283 килобайта.
 +
 +Утилита прошивки
 +[[http://toolbox.xilinx.com/docsan/xilinx7/help/iseguide/mergedProjects/impact/impact.htm | iMPACT]]
 +входит в состав программного пакета
 +[[http://www.xilinx.com/webpack/ | Xilinx ISE Webpack]].
 +Её можно вызывать в пакетном режиме:
 +  impact -batch impact.run
 +При этом командный файл {{impact.run}} выглядит так:
 +<code>
 +setMode -bscan
 +setCable -p auto
 +identify
 +assignFile -p 1 -file "прошивка.bit"
 +program -p 1
 +quit
 +</code>
 +
 +====== Примеры от Xilinx ======
 +С [[http://www.xilinx.com/products/boards/s3estarter/reference_designs.htm | сайта Xilinx]]
 +можно скачать примеры разработок для платы Spartan-3E Starter Kit.
 +
 +===== Picoblaze =====
 +Плата Spartan-3E Starter Kit изначально поставляется с прошивкой
 +{{s3esk-startup.pdf | "startup"}}, демонстрирующей возможности процессора
 +[[http://www.xilinx.com/picoblaze | Picoblaze]].
 +Это 8-битный процессор с объемом памяти 1024 команд и 64 байт данных.
 +Архитектура похожа на младшие модели микроконтроллеров Microchip PIC.
 +Исходные тексты процессора на языке VHDL (около 1900 строк кода)
 +распространяются бесплатно. Прошивку с текстами можно взять здесь:
 +{{s3esk-startup.zip}}.
 +Для компиляции дайте команду "make".
 +Для загрузки в плату выполните файл "install.bat".
 +
 +===== Microblaze =====
 +[[http://www.xilinx.com/microblaze | Microblaze]]
 +представляет собой 32-битный RISC-процессор с архитектурой,
 +напоминающей MIPS-32. Модуль процессора в виде параметризованного netlist
 +распространяется в составе пакета Xilinx ISE.
 +Исходные тексты на языке VHDL доступны бесплатно, но требуется подписать
 +лицензионное соглашение.
 +
 +Для архитектуры Microblaze существует
 +[[http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux/Toolchain/toolchain_sources.html | компилятор GCC]].
 +К сожалению, собрать версию 2005-11-21 из исходных текстов не удается,
 +есть несоответствия в include-файлах.
 +Можно скачать бинарную версию
 +[[http://www.petalogix.com/resources/downloads/mb-gcc | GCC 3.4.1 для Linux]].
 +Есть тексты [[http://www.xilinx.com/guest_resources/member/mb_gnu/gnu_fullsrc.tar.gz |
 +на сайте Xilinx]], но они тоже не компилируются.
 +
 +Есть пример
 +[[http://www.xilinx.com/products/boards/s3estarter/files/s3esk_microblaze_lcd.pdf | "microblaze-lcd"]]
 +подключения LCD-индикатора к процессору. Скачать можно
 +[[http://www.xilinx.com/products/boards/s3estarter/files/s3esk_microblaze_lcd.zip | здесь]].
 +
 +===== Linux на Microblaze =====
 +PetaLogix предлагает
 +[[http://www.petalogix.com/resources/reference_designs/xilinx |
 +встроенный Linux]] для Spartan3E-500, с поддержкой Ethernet.
 +Тексты, к сожалению, недоступны.
 +
 +Jason Wu разработал [[http://www.itee.uq.edu.au/~wu/downloads/ |
 +инструкцию по созданию конфигурации ucLinux]]
 +с помощью Xilinx Base System Builder (входит в состав платной ISE).
 +
 +====== OpenRisc: процессор с открытым кодом ======
 +[[http://www.opencores.org/projects.cgi/web/or1k/openrisc_1200 | OpenRisc 1200]] - проект 32-битного процессора с открытым кодом, распространяемым по лицензии GNU. Архитектура похожа на MIPS и ARM. Из периферии есть контроллер прерываний, таймер, контроллер SRAM/Flash, интерфейс отладчика, UART, Ethernet, VGA, клавиатура/мышь PS2. Система модульная, основана на шине Wishbone. {{http://vak.ru/pub/fpga/s3esk-openrisc.tgz | Минимальная конфигурация для Spartan-3E Starter Kit}} занимает 58% ресурса FPGA.
 +
 +Для OpenRisc есть поддержка в компиляторе GCC. Программное обеспечение можно скачать [[http://www.bsemi.com/page.pl/customers | с сайта фирмы Beyond Semiconductor]].
 +
 +Есть также отличный [[http://www.opencores.org/projects.cgi/web/or1k/architectural_simulator |  симулятор архитектуры OpenRisc]]. Существуют версии Linux, ucLinux, RTEMS и ecos для OpenRisc.
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki