Maverick_ 15 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба P.S. И, пока Вы еще в самом начале обучения, переходите лучше на Verilog. :) и чего так на этом форуме всем советуют Verilog, хотя VHDL тоже очень хороший язык описания аппаратуры :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Muscat 0 17 мая, 2010 Опубликовано 17 мая, 2010 (изменено) · Жалоба Блин, даже стыдно стало за свой предыдущий вопрос) process (CLK,enable) is begin out_p<=enable and CLK; end process; Вот так хорошо? Изменено 17 мая, 2010 пользователем Muscat Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба Блин, даже стыдно стало за свой предыдущий вопрос) ... Вот так хорошо? однозначно нет лучше так process (CLK,enable) begin if CLK = '1' and CLK'event then if enable = '1' then ... end if; end if; end process; посмотрите здесь описание регистров На этом же сайте можете посмотреть как описываются базовая логика (счетчики, дешифраторы, FSM и так далее) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Muscat 0 17 мая, 2010 Опубликовано 17 мая, 2010 (изменено) · Жалоба Почему плохо? По приведенному коду Мне надо, чтобы он по ОБОИМ фронтам работал. То есть просто передавал на выход то, что на входе при наличии разрешения if CLK = '1' and CLK'event then А так получится то, что я пытался сделать во втором случае- в 2 раза замедленные клоки За ссылку спасибо, почитаю. Читал Coding Style Guide от Actel, там описаны простейшие триггеры, примеры работы с памятью, организация выводов. То что описано под ксайлингз будет так же хорошо для Actel? PS Ушел читать дата-шит на микросхему на предмет DDR-output. Но все же очень любопытно, почему будет плохо сделать это через умножитель Изменено 17 мая, 2010 пользователем Muscat Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба А еще "правильнее" использовать удвоенную тактовую частоту изначально. А на выход выдавать поделенную. Тогда и для триггера разрешения найдутся такты. out_p<=enable and CLK; А на Verilog пишется по-людски: out_p = enable & CLK; Если Вы - любитель Паскаля, тогда да - VHDL. Во всех остальных случаях (C, программирование микроконтроллеров) - SystemVerilog. Мое личное мнение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба Почему плохо? По приведенному коду То что описано под ксайлингз будет так же хорошо для Actel? Да, может быть только отличие в описании блочной памяти. По поводу работы по обоим фронтам смотри советы выше в этой ветке - там уже говорилось про удвоение частоты и дальнейшая работа Вашей логики только по одному фронту... Какой кристалл ПЛИС? Расскажите как Вы себе представляете "почему будет плохо сделать это через умножитель"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Muscat 0 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба Какой кристалл ПЛИС? Расскажите как Вы себе представляете "почему будет плохо сделать это через умножитель"? M1A3P1000L - на отладочной плате В моем понимании "плохо" означает, что реализация либо требует много ресурсов и есть более экономичные варианты, либо вариант "медленный", либо и то и то вместе. Так чем чревата реализация через and? Про делитель клоков честно говоря не понял как это сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jb83 0 17 мая, 2010 Опубликовано 17 мая, 2010 (изменено) · Жалоба :05: А чем плох вариант с использованием комбинационной логики (схемы "И" или мультиплексора)??? to Muscat: ИМХО, в вашем варианте выражение с and лучше вынести из процесса. Изменено 17 мая, 2010 пользователем jb83 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба Блин, даже стыдно стало за свой предыдущий вопрос) process (CLK,enable) is begin out_p<=enable and CLK; end process; Вот так хорошо? Работать будет, а насчет "хорошо" - вопрос спорный. :) Советую прочесть: http://www.altera.com/literature/hb/qts/qu...ii_handbook.pdf Volume 1, Section II, 5-10, "Gated Clocks". Это хоть и для Альтеры, но, думаю, Вам тоже будет полезно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба :05: А чем плох вариант с использованием комбинационной логики (схемы "И" или мультиплексора)??? to Muscat: ИМХО, в вашем варианте выражение с and лучше вынести из процесса. возможными глитчами (лишними импульсами) M1A3P1000L - на отладочной плате В моем понимании "плохо" означает, что реализация либо требует много ресурсов и есть более экономичные варианты, либо вариант "медленный", либо и то и то вместе. Так чем чревата реализация через and? Про делитель клоков честно говоря не понял как это сделать. посмотрите внимательно ресурсы ПЛИС - она имеет встроенный блок PLL (на первой странице в таблице) !!! Так что вопрос об возможности удвоения частоты внутри ПЛИС снят! даташит на ПЛИС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба :bb-offtopic: и чего так на этом форуме всем советуют Verilog, хотя VHDL тоже очень хороший язык описания аппаратуры :) Вопросы навскидку: как в VHDL сделать аналогию $finish ПО ЧЕЛОВЕЧЕСКИ? вытяжка сигналов из иерархии ПРОСТО И ПО ЧЕЛОВЕЧЕСКИ? ну и как обычно - строгая типизация и принты: вот как отпринтить интегер ПО ЧЕЛОВЕЧСКИ в хексовом виде ? .... Это всё конечно можно реализовать на VHDL потратив ессно время и копипастить куда нужно.. :maniac: Но на верилоге и СВ это быстро и интуитивно :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба :bb-offtopic: Вопросы навскидку: как в VHDL сделать аналогию $finish ПО ЧЕЛОВЕЧЕСКИ? вытяжка сигналов из иерархии ПРОСТО И ПО ЧЕЛОВЕЧЕСКИ? ну и как обычно - строгая типизация и принты: вот как отпринтить интегер ПО ЧЕЛОВЕЧСКИ в хексовом виде ? .... Это всё конечно можно реализовать на VHDL потратив ессно время и копипастить куда нужно.. :maniac: Но на верилоге и СВ это быстро и интуитивно :laughing: ну вот начались пиньки в сторону VHDL :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Muscat 0 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба Maverick извините, но я не знаю что такое PLL и как им пользоваться. Для меня вопрос все еще стоит. Почитал Coding Style Guide от Актель, нашел нужный блок, описан через комбинационную логику. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба Maverick извините, но я не знаю что такое PLL и как им пользоваться. описание 1 описание 2 он заводится с помощью так называемого генератора ядер, который генерирует готовые IP ядра ЗЫ во всяком случае у Xilinx так. С Actel я не работал ЗЫ ЗЫ здесь на странице 447, что-то про это написано Maverick Почитал Coding Style Guide от Актель, нашел нужный блок, описан через комбинационную логику. не поделитесь описанием :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 17 мая, 2010 Опубликовано 17 мая, 2010 · Жалоба ну вот начались пиньки в сторону VHDL :rolleyes: У меня - время==деньги :laughing: да и прямой копипаст не всегда реашет вопрос Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться