Перейти к содержанию

    

alxkon

Участник
  • Публикаций

    90
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о alxkon

  • Звание
    Частый гость

Посетители профиля

2 319 просмотров профиля
  1. Cпасибо, прохлопал :) Некоторые проекты с LSE другие Synplify . Наверное нужно выбрать все же Synplify
  2. Приветствую! Судя по документации в Квартусе и Вивадо есть варианты для TCL, а Diamond только чрез ГУИ: https://www.doulos.com/knowhow/fpga/Setting..._for_Synthesis/ Я так понимаю сначала парсит, а потом исправляет определенные константы на нужные для текущего синтеза значения? Спасибо, это один из методов решения.
  3. Приветствую Всех! Поскажите, есть ли какой-то способ в Diamond назначить generic (VHDL) в топовом модуле с помощью командной строки или TCL ?
  4. Со всем уважением, но может тему перенести в "Общение" ?
  5. Цитата(Leka @ Mar 14 2018, 11:26) У меня входной клок был 25МГц - pll вообще не запускалась, если указывать реальную частоту. Запускалась, если указывать более высокую частоту. И в этом случае не замечал проблем даже при плохом питании. Подробно не исследовал, просто подумал - не по этой ли причине на всех массовых китах клок не меньше 50МГц. Хотя у низкочастотных генераторов меньше потребление, например. А Вы с какой версий Квартуса работали и был ли такой эффект в других версиях?
  6. Цитата(Leka @ Mar 13 2018, 18:21) А частота входного клока pll какая была? У меня сложилось впечатление, что для входных клоков <50МГц мегавизард неправильно конфигурирует pll, в таком случае укзываю 50МГц, нормально получается. Насколько помню, 33МГц. А Вы клок наружу выводили или как удалось определить что визард ошибся?
  7. Цитата(yes @ Mar 13 2018, 16:13) не могу утверждать, но сложилось впечатление, что pll у Альтер (циклон 3-4, стратикс 3) достаточно "слабая" - чувствительна к шумам и т.д. то есть в функционально похожих приборах, разрабатывавшихся одной командой, никогда не сталкивался с "глюками" PLL у ксайлинсов, латисов, актелов, а с альтерами было несколько раз... еще советую продублировать lock (хотя бы для проверки во время отладки) - он не всегда срабатывает: например, запустить два достаточно длинных счетчика, один от гарантированного такта, другой с этой pll и проверять их отношение Да, замечал такое - идентичная плата, различие только в ПЛИС, локация ПЛИС на плате та же. Spartan-6 работал без сбоев, а Cyclone-3/4 редко но сбоили pll и иногда загадочным образом детектировалось SEU, похоже слетала прошивка. Качество питания проверяли, sso также. А всеравно, в похожих условиях Spartan-ы ни разу не сбоили
  8. Цитата(Anke @ Feb 1 2018, 12:13) Может быть кто-нибудь поможет. Мне надо автоматизировать процесс прошивки MachXO2 LCMX02-1200UHC Lattice. У меня есть файл *.jed. Разработчики предлагают программу Diamond Programmer. Как я могу прошить из командной строки? Где бы мне поискать информацию? Я пишу программу на LabVIEW. Работаю еще с микроконтроллерами от АТМЕЛ, с ними ни каких проблем. Хотелось бы чего-нибудь похожего для Lattice: "%s\\atprogram.exe" -t avrispmk2 -i ISP -d ATMEGA32 program -f "%s" Заранее благодарю. http://www.latticesemi.com/en/Support/Answ...2/3/1/2318.aspx .... For Lattice Diamond Programmer command line options, In the main toolbar of Diamond Programmer Help > search > pgrcmd pgrcmd is the command line utility for running the Diamond Programmer Tool The latest Diamond Programmer versions are posted on our website. http://www.latticesemi.com/Products/Design...Programmer.aspx
  9. Цитата(Stewart Little @ Jan 29 2018, 18:17) А для какого семейства синтезируете? Для MachXO2 - пробовал для 640HC и 7000HE, speed grade 6 и 4, temp. - C. Простой счетчик 5 бит, тактовая - констрейнт 260МГц (обьявил клоковый пин как LVDS25 чтобы обойти порог 150МГц для single-ednded): << Place & Route Trace >> LSE: FREQUENCY PORT "clk" 260.000000 MHz (0 errors) 28 items scored, 0 timing errors detected. Report: 371.747MHz is the maximum frequency for this preference. Synplify FREQUENCY PORT "clk" 260.000000 MHz (0 errors) 28 items scored, 0 timing errors detected. Report: 273.448MHz is the maximum frequency for this preference.
  10. Приветствую Всех! Diamond 3.10 У меня сложилось субьективное мнение что LSE синтезирует лучше чем Synplify, макс. частота выше, разницы по LUTах нет. Правда девайс забит только на 40%. А какой опыт у Вас?
  11. Цитата(ViKo @ Nov 13 2017, 14:27) Вот. Последние варианты (4 и 5, одинаковые). Остальные показывают процесс разработки. :-) CODE `define LENTH 28 `define VAR5 `ifdef VAR1 `define TIM1 `elsif VAR2 `define TIM1 `elsif VAR3 `define TIM1 `else `define TIM2 `endif module Timer_m `ifdef TIM1 ( (* chip_pin = "91", altera_attribute = "-name global_signal on; -name io_standard lvds" *) input bit clk, // high-speed clock input bit [`LENTH-1:0] rld, // reload data output bit pls // timer overload pulse ); `endif `ifdef VAR1 bit [`LENTH:0] cnt; always_ff @(posedge clk) begin if (cnt[`LENTH]) cnt <= {1'b0, rld}; else cnt <= cnt - 1; end assign pls = cnt[`LENTH]; `elsif VAR2 bit [`LENTH-1:0] cnt; always_ff @(posedge clk) begin if (cnt[`LENTH-1]) cnt <= rld; else cnt <= cnt - 1; end assign pls = cnt[`LENTH-1]; `elsif VAR3 bit [`LENTH-1:0] cnt; always_ff @(posedge clk) begin if (cnt[`LENTH-1]) cnt <= rld; else cnt <= cnt[`LENTH-2:0] - 1; end assign pls = cnt[`LENTH-1]; `endif `ifdef TIM2 ( (* chip_pin = "91", altera_attribute = "-name global_signal on; -name io_standard lvds" *) input bit clk, // high-speed clock input bit [`LENTH-1:0] rld, // reload data input bit ldp, // load pulse output bit pls // timer overload pulse ); `endif `ifdef VAR4 bit [`LENTH:0] cnt; always_ff @(posedge clk) begin if (cnt[`LENTH]) cnt <= {ldp, rld}; else cnt <= cnt[`LENTH-1:0] - 1; end assign pls = cnt[`LENTH]; `endif `ifdef VAR5 bit [`LENTH-1:0] cnt; always_ff @(posedge clk) begin if (pls) {pls, cnt} <= {ldp, rld}; else {pls, cnt} <= cnt - 1; end `endif endmodule : Timer_m Извините, забыл совсем ответить. Если я не ошибаюсь в Вашем варианте загружаемое значение lpd должно быть на 1 меньше от желаемого значения счета.
  12. Цитата(petrov @ Dec 4 2017, 13:40) Даёшь подраздел для каждого сообщения! Хватит уже. Количество подфорумов и подразделов превышает необходимое на порядок, есть подразделы в которых годами нет новых сообщений. С точки зрения новичка форум выглядит полумёртвым и непонятным. Есть две крайности - "все в одну кучу" и "подраздел для каждого сообщения". Как по мне, так сейчас вполне удобно, большего дробления не нужно, меньшего тоже. Подотдел HLS я предложил только как альтернативу целому отделу, хотя судя по всему HLS шагает семимильными шагами где-то в области Virtex-сов и Stratix-ов. Ну для быстрого прототипирования можно и в Artix, но всеравно пока все интерфейсы пишутся на HDL
  13. В разделе ПЛИС есть подраздел SoC там ему и место, проще по моему добавить в ПЛИС подраздел High-Level Synthesis (HLS): Matlab, SystemC,C++,.....
  14. Цитата(aaarrr @ Nov 24 2017, 00:16) Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено. 100 аналоговых каналов могут оказаться много дороже всего остального. А может оказаться дороже плата под вашу ПЛИС. Или трудозатраты на построение системы, если тираж составляет 1 экз. aliexpress 13,80 EP4CE6 altera fpga board
  15. Цитата(ViKo @ Nov 13 2017, 13:07) Как было сказано выше :-), сравнить только с нулем - это объединить биты по ИЛИ. Кроме того, я вообще не сравниваю биты счетчика, а использую бит переноса. Которым загружаю в счетчик число, хранящееся в рядом находящемся регистре. А можете проилюстрировать в коде?