Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
22.05.2010, 20:17
|
|
Частый гость
Регистрация: 16.06.2005
Сообщений: 47
Сказал спасибо: 4
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Всем доброго дня, помогите найти ошибку в коде. В общем пытаюсь сделать счетчик
работающий в двух режимах, первый режим наличие сигнала clk _en запускает счетчик по малому кольцу, при приходе второго сигнала con_en происходит запись в adr_ числа до которого успел досчитать , и продолжаем счет до 65535 после чего срабатывает сигнал cout . но вот не задача cout дает ложную сработку на 1023 такта раньше , и как положено при переполнении счетчика срабатывает вновь.
код:
module CON_16(clk,clk_en,con_en,rst,d,cout,adr_);
input clk,rst,clk_en,con_en;
output cout;
output [15:0] d;
output [9:0] adr_;
reg [15:0] d;
reg [9:0] adr_;
integer flag;
always @(posedge clk )begin:sin
if(rst==1)begin
d ‹= 0 ;
flag ‹= 0;
adr_ ‹= 0;
end
else if(flag==1)begin
if( clk_en==1 )
d ‹= d + 1;
end
else if ((con_en==1)&&(flag==0)) begin
adr_ ‹= d;
flag‹=1;
end
else if(con_en==0) begin// крутимся здесь пока не сработает ‹con_en›
if(d != 1023)
d ‹= d + 1;
else
d ‹= 0;
end
end
assign cout = &d;
endmodule
|
|
|
|
22.05.2010, 23:07
|
|
Прописка
Регистрация: 26.08.2005
Сообщений: 160
Сказал спасибо: 1
Сказали Спасибо 43 раз(а) в 38 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Сообщение от sl_64
|
cout дает ложную сработку
|
Что такое глитчи знаете? cout то комбинаторный. Если хотите избавиться от глитчей, делайте регистровый выход.
|
|
|
|
23.05.2010, 10:58
|
|
Частый гость
Регистрация: 16.06.2005
Сообщений: 47
Сказал спасибо: 4
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Сообщение от BSA-elec
|
Что такое глитчи знаете? cout то комбинаторный. Если хотите избавиться от глитчей, делайте регистровый выход.
|
Про глитчи читал, решается добавлением тригера на выход , но как сделать это на верилоге в этом же модуле пока не знаю. Если можно то приведите пример .
Последний раз редактировалось sl_64; 23.05.2010 в 11:04.
|
|
|
|
23.05.2010, 13:34
|
|
Прописка
Регистрация: 26.08.2005
Сообщений: 160
Сказал спасибо: 1
Сказали Спасибо 43 раз(а) в 38 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Сообщение от sl_64
|
Про глитчи читал, решается добавлением тригера на выход , но как сделать это на верилоге в этом же модуле пока не знаю. Если можно то приведите пример .
|
А как Вы приведённый выше код написать то смогли? И раз уж пользуетесь Квартусом, обращайте внимание на те warning, которые он выдаёт. И лучше писать не в стиле Verilog-1995, а в стиле Verilog-2001. Посмотрите вложенный проект и комментарии к нему.
P.S. При выкладывании кода нужно пользоваться тегами [ CODE ] [ /CODE ].
|
|
|
Сказали "Спасибо" BSA-elec
|
|
|
23.05.2010, 15:37
|
|
Частый гость
Регистрация: 16.06.2005
Сообщений: 47
Сказал спасибо: 4
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Спасибо BSA-elec , за помощь !!!!!
|
|
|
|
10.06.2010, 20:14
|
|
Частый гость
Регистрация: 26.09.2007
Сообщений: 20
Сказал спасибо: 2
Сказали Спасибо 18 раз(а) в 2 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Учусь писать тест-бенчи на verilog и не могу понять в чем проблема.
Вот тест счетчика на 2
Код:
|
module cnt2
(
input clk,
output reg q
);
always @ (posedge clk)
q ‹= ~q;
endmodule
module cnt2_tb;
reg clk;
wire q;
initial begin
$dumpfile ("cnt2_tb.vcd");
$dumpvars (0, dut);
$monitor ("clk=%b, q=%b", clk, q);
clk = 0;
#30 $finish;
end
always begin
#5 clk ‹= ~clk;
end
cnt2 dut (.clk(clk), .q(q));
endmodule |
icarus выдает следующее
VCD info: dumpfile cnt2_tb.vcd opened for output.
clk=0, q=x
clk=1, q=x
clk=0, q=x
clk=1, q=x
clk=0, q=x
clk=1, q=x
clk=0, q=x
В квартусе все показывает правильно. Если кто пользуется icarusом, подскажите в чем проблема.
|
|
|
|
10.06.2010, 20:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,356
Сказал спасибо: 85
Сказали Спасибо 611 раз(а) в 370 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
в модуле cnt2 не задано начальное значение q
|
|
|
Сказали "Спасибо" pambaru
|
|
|
10.06.2010, 21:02
|
|
Частый гость
Регистрация: 26.09.2007
Сообщений: 20
Сказал спасибо: 2
Сказали Спасибо 18 раз(а) в 2 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Сообщение от pambaru
|
в модуле cnt2 не задано начальное значение q
|
Спасибо, действительно теперь выводит так как надо.
|
|
|
|
06.08.2010, 19:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Извиняюсь предварительно за некоторую тупость. Просто сегодня прорвался прыщ непонимания ПЛИС ![Очень счастлив](images/smilies/icon_grin.gif) Вопрос, что ставить ? Quartus10.0 в урезаном виде требует5ГБ. Много ![Бьюсь об стену](images/smilies/icon_obstenu.gif) На работе диск 80Г, C:\ из за сканирования для вирусов только 8, весь. Сдуру при свободом 1Г начал ставить веб версию Quartus10. В результате при свободном месте 11МБ на C:\ Виндовс взвыл. После очистки скачал 7.0. Инсталяция 500МБ, на диске занимает 1ГБ. Вполне приличный товар. 4 часа слушал руководство, для 6.1 кстати. Однако там не сказано об элементарной операции правая кнопка мыши-›insert-›берем компонент и ставим в схему. Kaкой то визард объяснялся ![Шокирован](images/smilies/icon_eek.gif) Плюс не понял как с регистрацией. Точка автоматического получения лицензии не сработала. Пустил 30 дневный пробный период.
Надо:
1. Инсталяционный пакет до 1ГБ
2. Требуемое место на диске до 2ГБ
3. правая кнопка мыши-›insert-›компонент
4. Регистрация без особых проблем, как понял веб версия устроит
5. Не требуется поддержка дорогих чипов. Здесь MAX3000A вполне доставабельна. EPM3032ATC44-10N по цене 4 евро. CYCLONE EP1C3T100C8N 15 евро.
Все это надобно для работы в связке с микроконтроллером. Чтоб быстрые процессы переваривала ПЛИС и потихоньку выдавала информацию в некий ПИК. Страсть сделать цифровой осциллограф не обошла и меня ![Плач](images/smilies/icon_cry.gif)
Пока так,
Удачи и спасибо заранее !
__________________
Мыслю, следовательно существую
|
|
|
|
06.08.2010, 21:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 4,003
Сказал спасибо: 165
Сказали Спасибо 1,243 раз(а) в 733 сообщении(ях)
|
Re: ПЛИС "вопросы-ответы"
Здравствуйте всем! Тему с ПЛИС вы подняли реально вовремя, она интересна и насущна. Читая полностью все посты я понять не могу: почему все интересуются Altera, а где фанаты Xilinx? Я как и автор темы освоил CPLD XC9500 практически довольно быстро, но пока с вводом проекта в виде схемотехники так как не настроен мозг на языки программирования. Так эта тема будет для всех производителей ПЛИС?
|
|
|
Сказали "Спасибо" Андрей К
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:20.
|
|