Jump to content

    

Nick_K

Свой
  • Content Count

    420
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Nick_K

  • Rank
    Местный
  • Birthday 08/31/1988

Контакты

  • Сайт
    http://
  • ICQ
    195151511

Информация

  • Город
    Украина :)

Recent Profile Visitors

1605 profile views
  1. Не легко. Неграм живущим за пределами МКАДа цивилизации ЕС и североной Америки не могут просто так взять и скачать. Нужно постучать в техподдержку и может быть дадут разрешение. А может и не дадут ссылаясь на санкции 88го года
  2. Я не снимал ничего, а нагуглить думаю Вы так же сможете на ютубах.
  3. Конечно умеет и даже немножечко больше чем тут. Всё это есть в том же Саблиме или VS. Практически из коробки, что отменяет геморную настройку. Единственное что конфиги для Вашего Бьютифай придётся создавать. А так все операции на наитивном уровне доступны с тем же функционалом
  4. 2019.1-2019.2 Но по-сути ничего не изхменилось. Оно как тормозило, так и тормозит.
  5. Просто Вас нелёгкая не занесла на Linux. Там всё хорошо, но только не с notepad++. Недавно самому пришлось пересесть на Sublime А вообще непонятно почему ещё SublimeEdit живой и/или платный. Вроде бы Visual Studio Code предлагает такой же функционал, полностью бесплатна и рады разработчиков намного больше (тоже не ради холивара, а скорее размышления вслух). Ну или я каких-то нюансов не знаю...
  6. У меня спокойно работает вот такой тестовый файл чисто Верилоговского происхождения (не SV) `define my_sig(x) in_sig_``x module two_test_v #( parameter p_len = 16) ( input i_clk, output `my_sig(0), output `my_sig(1), input [p_len - 1 : 0] i_a, output [p_len - 1 : 0] o_c); reg [p_len - 1 : 0] s_c; genvar i; generate for (i = 0; i < p_len; i = i + 1) begin: gen_out always @(posedge i_clk) s_c[i] <= i_a[p_len - i - 1]; end endgenerate assign o_c = s_c; assign in_sig_0 = s_c[0]; assign in_sig_1 = s_c[1]; endmodule Товарисч @des00 говорит, что такое стандартом не предусмотрено. Но я не вкурсах что там и как в стандарте. Мне главное, чтобы синтезатор прожевал.
  7. Кто сказал нельзя? Я сделал такой проект и он спокойно работает. Ибо больше от него и не нужно. Получить последовательность считывания и выдать запрограммированный паттерн наружу, который содержит нужные данные. Больше ничего не требуется от ПЛИС. Зачем городить огород? Если вы так не делаете или не умеете делать - это не значит, что так делать А почему если ПЛИС, то сразу нужны синхронные интерфейсы типа Авроры или ещё что-то? Почему нельзя тот же I2C взять или SPI. Там внутреннего клока будет предостаточно для таких интерфейсов (UART уже на сработает по понятным причинам). И снова таки, Вы слышали что такое асинхронная логика? Для нескоростных задач с максимальным энергосбережением такие методики вполне себе сгодятся. Когда нужно проработать от АА батарейки пол года если не больше и достаточно детектировать контакт на разрыв раз в секунда +/-. Ибо дверь никто не сможет открыть и закрыть быстрее. Или влажность в вазоне резко не упадёт, чтобы аварийно включить полив. Вы просто смотрите с одной своей стороны и на этом вы чхали на остальные варианты применений. А я открою секрет - область применения электроники не ограничена только Вашими задачами. Она намного обширнее.
  8. Извините - в стандартах не силён. В проекте под Вивадо 2019.2 такая конструкция без проблем синтезируется и собирается. Думаю это ещё базовые функции языка, которые "мигрировали" с Си/С++
  9. Да, я уже проверял) И в generat'е не работает и в foreach'е тоже. Но такие же фокусы в Верилоге можно сделать ;)
  10. Вы ошибаетесь трижды. Во-первых не все проекты требуют тактирования для ПЛИСины внешним тактовым генератором (иногда клоковой достаточно от линии связи будь то I2C или SPI) - это редкие, но всё же имеющие место быть случаи Во-вторых любой более-менее недревниц чип может генерировать клоковую частоту на базе встроенной PLL. Проверено лично на MAX10 и Spartan-6. Новее чипы и подавно способны на такое. И в-третьих (о Боже, нет!) встроенные генераторы построены именно на принципе задержки в буффере/инверторе! И вот такой беспредел можно построить самому. Понятно, что для этого нужно иметь хотя-бы годиков 5 экспириенса в данной области и не бездумно копировать код/пример, а адекватно понимать что куда подать, как развести и законстрейнить (в случае использования в реальном серьёзном проекте). Ну или для ознакомления можно скопипастить и поекспериментировать в образовательных целях, чтобы понять, что такой клок сильно зависит как от температуры, так и от напряжения и других факторов. И ничего криминального тут нет! До честных ПЛИС и CPLD именно так разработчики делали разные хитрости. В общем и продолжают делать тоже. Взять хотя-бы приборы для детектирования сигналов в БАКе. Я видовал даже схемы, половина которой тактируется на 200MHz а вторая на 201MHz. И там такие фокусы устраивают. И без gated clock ну никак не обойтись. Просто нужно правильно его использовать.
  11. SV как надстройка верилога включает в себя паттерны языка по-умолчанию. Да и в VHDL тоже таких фокусов нет.
  12. Да, пардоньте, забыл упомянуть - используйте двумерный неупакованный массив. Я конечно сие безобразие в SV делаю, но думаю такой функционал и в Верилоге проканает. Тем более, что сиинтезатор у нас одинаковый.
  13. И всё же настоятельно рекомендую в темплейте заменить именованные регистры, на двухмерный массив регистров. Я так сделал и всё работает. Тем более, что функцию перисвоения можно будет с большого case массива заменить на нумеруемую, что значительно уменьшит количество строк кода. Ну или на крайний случай сделать одноразовую замену slv_reg0 -> slv_reg[1], slv_reg0 -> slv_reg[1], ... slv_reg99 -> slv_reg[99]. Использовать именуемые выходные векторы и неудобно и приводик к ошибкам обширным
  14. А нельзя ли использовать обычный двумерный массив? Чтобы не было потом неприяно заничаться поддержкой? reg [99 : 0][31 : 0] slv_reg
  15. Так в ISE можно тоже дать *.ngc файлы и не морочится. Или там обязательно синтезировать с помощью симплифая?