to post messages and comments.

Интересный текст richardhaskell.com
коротко, хардварная имплементация раз в 10 быстрее чем реализация на ЯП, Си как обычно тормозит, FORTH-процессоры это ня, надо зопейлить таковой на своей плисине, можно попробовать уходить в крайности RISC/CISC и посмотреть что — лучше, а что — хуже.

Quartus II 13.0sp1 под линукс.

1) Стиль оформления ужасен, аля win95.
— сносим все lib*.so, которые имеются в системе, из папки quartus/linux64 (linux для 32 бит) — получаем стиль Qt, установленный в системе.

2) Не запускается ModelSim — нужно задаунгрейдить libfreetype2.
— качаем download.savannah.gnu.org и распаковываем, делаем ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" и make. Скомпиленные либы кладём куда-нибудь в папку квартуса (например в libfreetype_old_32bit;
— редактируем файл quartus в quartus/bin, идём вниз и куда-нибудь до финального eval exec добавляем строчку:
export LD_LIBRARY_PATH=$QUARTUS_ROOTDIR/libfreetype_old_32bit:$LD_LIBRARY_PATH
Теперь ModelSim запустится из квартуса.

Кстати, тут поиск в гугле как-то не выдал результатов по поводу загрузки в altera cpld (по факту — MAX3000) через openocd.
Точнее, находится одна страничка со словами "ну, openocd позволяет его увидеть, но как-то большэ ничего полезного".

Так вот, констатирую: грузится нормально. Делаешь .svf файл (в настройках Quartus есть "generate svf"), в openocd делаешь tap (в моём случае — jtag newtap epm064a.def tap -expected-id 0x170640dd -irlen 10
Имя epm064a.def — просто имя, значение expected-id — можно прочитать в доке на FPGA, но его и openocd через boundary scan пишэт, -irlen 10 — из доки.), и я сделал в конфиге openocd, поскольку просто поиском он как-то irlane неправильно определял

Потом — загружаешь,
svf -tap epm064a.def.tap output_files/SPI_PIN.svf progress
(tap — имя из определения вышэ. Не знаю, почему тут надо добавлять .tap)

Правда, почему-то грузит две минуты. И практически всё время — на последней команде STATE IDLE. Ну, это ничего — главное — проверил — оно грузит.

Только что попробовал поставить на свою федорку среду разработки от Altera. Сделана весеьма добротно, никаких проблем и сообщений об ошибках. Поставил — работает. Вот теперь поиграю в их симуляторе.

Надо бы программатор сварганить еще, вот что.

habrahabr.ru

Блок программируемой логики в серверных процессорах смотрится очень кстати. Мне нравится.

Я так и знал, что к этому всё придёт. Бла-бла-бла про закон Мура даёт сбои уже сейчас — Intel всё никак не могут ввести 14нм, уже ,кажется, 2 раза откладывали. Altera, выпускающее свои последние кристаллы на их заводах, энтузиазма особого не выражает.

Либо переходим на графены, квантовые компьютеры, делаем суперпроводимость или что-то ещё в этом роде (сколько это будет стоить я не знаю. Скорее всего геймерам будет уже не по карману), либо смиряемся с 20нм и начинаем думать, наконец, об архитектуре и оптимизации.

Вот на этой пепяке — LC-MAXII-EPM1270-CPLD-core — wayengineer.com — что делает CY7C68013A-56PVXC? cypress.com
Через него плисина прошивается или он пустой и через него конечная девайсина цепляется к писюку, а плисина прошивается через jtag, сбоку какой-то разъём?
А он тогда как прошивается?
CPU Core Enhanced 8051 как-то не того. Вот если бы не этот странный процессор, было бы очень хорошо

eee.hku.hk
BORPH — это операционная система для перепрошиваемых компьютеров на основе FPGA. Это расширенная версия Linux, которая рассматривает ресурсы FPGA как если бы они были CPU. BORPH использует концепцию аппаратных процессов, которые ведут себя подобно обычным пользовательским программам с той разницей, что это аппаратные схемы, работающие на FPGA. Аппаратные процессы ведут себя как обычные программы. Ядро BORPH предоставляет аппаратным процессам стандартные системные интерфейсы, такие как доступ к файловой системе, позволяя им общаться с остальной системой легко и непринуждённо.

Это просто уму нерастяжимо. Ну как так можно разводить контакты.. Как ни кручу разъём — постоянно дорожки перекрещиваются. Или разводить прямо и на кабеле перепаять.
А если учесть, что, в конечном итоге, программатор вырождается в просто кабель, то какая в жопу разница, как его разводить, если для себя — marsohod.org — четыре сигнала и общий — пять контактов в один ряд.

Итог: 41 логический элемент. Детектор нуля пробовал и через мегафункцию компаратор с порт Б = 0, и через многовходовый ИЛИ. Не обманывается. Что оставить в результате?
164 здесь и останется 76. С этим уже можно жить. упс.. Забыл знак наружу вывести.

Что-то получилось. Пины назначил. Скомпилировалось. Некоторое количество варнингов, но, вроде некритично. Как моделировать пока непонятно. Раньше ведь делал. Перекосы на временных диаграммах рассматривал. И найти бы ещё файл с прошивкой.

Что-то я совсем тупой — как составить цепочку реверсивных десятичных счётчиков на базе мегафункции lpm_counter. Входы: clock, updown, cin; выход: cout. Как перенос между разрядами распространяется?
Кажется понял — cout идёт на clock следующего, updown объединяются.

Попробовал заказать на сайте производителя:
[DE0-Nano] DE0-Nano FPGA Development Kit
Part Number: P0082
Total Amount: $175.46 (USD)
Order Amount: $79
Shipping Cost: $66.46
Wire Transfer Fee: $30
Shipping Country: RU — Russian Federation
Shipping Method: UPS/DHL/FedEx Global Express (2 to 3 days Service)
Total Weight: 500(g)
Доставка дороже товара.