All streams
Search
Write a publication
Pull to refresh
7
0

User

Send message
Странно, что никто не вспомнил про coffeescript
html = """
       <strong>
         cup of coffeescript
       </strong>
       """
будет оттранслировано в
var html;

html = "<strong>\n  cup of coffeescript\n</strong>";

Я смотрел лекции из вот этой серии. www.youtube.com/watch?v=_spmeJYG98o
Вот там я видел много схем эволюции систем и эту тоже.
Постойте. А ведь это один из инструментов ТРИЗа. Там рассматривается эволюция систем и получается точно такая же схема.
SASS — это замечательно, но это язык, а не библиотека компонентов. В данном случае я вижу для себя смысл попробовать вашу библиотеку там, где раньше я задумывался о bootstrap.
По-моему, хороший инструмент, вполне может заменить bootstrap в многих use case'ах, хотя не спорю, что инструменты разные.
За coffeescript отдельный бонус в карму.
hotelscan.com/ в прошлом году делал стартовую страницу с fantasy-локациями. В этом году что-то похожее.
Скриншоты


Возможно, не в однотактном делителе дело.
У меня была похожая ситуация. Я сделал по глупости однотактный 64-битный сумматор.
Если не указать в constrains ограничение на частоту clock, то САПР может сгенерировать прошивку с рабочей частотой ниже, чем опорная частота генератора частоты на плате, и тогда будет работать многое неправильно.
2. .clk(), — 7 лишних символов и 1 лишняя строка.
3. Конечно, присоединяются только пины, которые не были соединены вручную.
Для меня после знакомства с coffeescript verilog кажется очень сильно избыточным. SystemVerilog лучше, но все-равно не то. Потому после года мучений в работе с verilog я плюнул и написал свой недо-DSL, который максимально убирает дублирование кода. Как доведу код до ума — может напишу статью и выложу код на github.
Фичи для тех кому интересно:
1. Python-like scopes (прощай begin/end)
2. Инстанциирование в ооп-стиле с автоматическим пробросом пинов с одинаковым именем и шириной шины от родителя к ребенку (прощай .clk(clk) и запятые, здравствуй CSON (CoffeeScript Object Notation, аналог JSON))
3. Если в instance есть неприсоединенные пины к родителю — проект не соберется.
4. Автоматическое генерирование компонентов по шаблону. (Надо сумматор на 32 бита, получи sum_32, надо на 16 — получи sum_16, прощай неявное генерирование и параметры в verilog, здравствуй полный контроль над генерированным кодом)
5. JTAG socket server (tcl, доделка примера от xilinx) + client (nodejs). Возможность in-chip отладки проекта в т.ч. покрытие кода регистрами. Дает возможность узнать какие ветви были активированы, а какие нет, также дает возможность просмотреть через ограниченную шину (даже 4 бита, меньше нет смысла) всю собранную информацию включая состояние входов, выходов и внутренних регистров. Бонус. Мы почти не привязываемся к стеку технологий xilinx, заменяем vio на такую же megafunction от Altera, заменяем tcl сервер для общения с JTAG, и у нас снова есть полноценная возможность отлаживать код внутри кристалла. Невостребованный бонус. При наличии двух JTAG кабелей можно отлаживать одновременно два чипа разных производителей, которые присоединены друг к другу.
6. Достаточно большая скорость работы, что позволяет отлавливать примитивные ошибки гораздо быстрее. Не нужно ждать 20 сек, пока ISE соберет все IPcore, проверит все мелочи и только потом скажет, что ты где-то пропустил один пин, или у тебя ошибка в синтаксисе.
7. Мелочные сокращалки синтаксиса для мелких популярных паттернов. (еще на 5-10% меньше букв)
8. Исправление некоторых недочетов парсера verilog за счет генерации функционально идентичного кода. Например два always блока в некоторых случаях приводят к ошибке (pin has multiple drivers). Один блок — нет.
Я тоже хотел сделать на реле, но это было бы дольше т.к. надо докупать либо ethernet shield (реле и микроконтроллеры есть), либо rapsberry PI, либо что-то подобное.
12 ...
7

Information

Rating
Does not participate
Registered
Activity