Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 22.05.2010, 20:17  
sl_64
Частый гость
 
Регистрация: 16.06.2005
Сообщений: 47
Сказал спасибо: 4
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
sl_64 на пути к лучшему
По умолчанию 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
Реклама:
sl_64 вне форума  
Непрочитано 22.05.2010, 23:07  
BSA-elec
Прописка
 
Регистрация: 26.08.2005
Сообщений: 160
Сказал спасибо: 1
Сказали Спасибо 43 раз(а) в 38 сообщении(ях)
BSA-elec на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

Сообщение от sl_64 Посмотреть сообщение
cout дает ложную сработку
Что такое глитчи знаете? cout то комбинаторный. Если хотите избавиться от глитчей, делайте регистровый выход.
BSA-elec вне форума  
Непрочитано 23.05.2010, 10:58  
sl_64
Частый гость
 
Регистрация: 16.06.2005
Сообщений: 47
Сказал спасибо: 4
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
sl_64 на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

Сообщение от BSA-elec Посмотреть сообщение
Что такое глитчи знаете? cout то комбинаторный. Если хотите избавиться от глитчей, делайте регистровый выход.
Про глитчи читал, решается добавлением тригера на выход , но как сделать это на верилоге в этом же модуле пока не знаю. Если можно то приведите пример .
Миниатюры:
Нажмите на изображение для увеличения
Название: c.jpg
Просмотров: 117
Размер:	105.9 Кб
ID:	8134  

Последний раз редактировалось sl_64; 23.05.2010 в 11:04.
sl_64 вне форума  
Непрочитано 23.05.2010, 13:34  
BSA-elec
Прописка
 
Регистрация: 26.08.2005
Сообщений: 160
Сказал спасибо: 1
Сказали Спасибо 43 раз(а) в 38 сообщении(ях)
BSA-elec на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

Сообщение от sl_64 Посмотреть сообщение
Про глитчи читал, решается добавлением тригера на выход , но как сделать это на верилоге в этом же модуле пока не знаю. Если можно то приведите пример .
А как Вы приведённый выше код написать то смогли? И раз уж пользуетесь Квартусом, обращайте внимание на те warning, которые он выдаёт. И лучше писать не в стиле Verilog-1995, а в стиле Verilog-2001. Посмотрите вложенный проект и комментарии к нему.
P.S. При выкладывании кода нужно пользоваться тегами [ CODE ] [ /CODE ].
Вложения:
Тип файла: rar test_cnt.rar (44.2 Кб, 90 просмотров)
BSA-elec вне форума  
Сказали "Спасибо" BSA-elec
sl_64 (23.05.2010)
Непрочитано 23.05.2010, 15:37  
sl_64
Частый гость
 
Регистрация: 16.06.2005
Сообщений: 47
Сказал спасибо: 4
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
sl_64 на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

Спасибо BSA-elec , за помощь !!!!!
sl_64 вне форума  
Непрочитано 10.06.2010, 20:14  
sim232
Частый гость
 
Регистрация: 26.09.2007
Сообщений: 20
Сказал спасибо: 2
Сказали Спасибо 18 раз(а) в 2 сообщении(ях)
sim232 на пути к лучшему
По умолчанию 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ом, подскажите в чем проблема.
sim232 вне форума  
Непрочитано 10.06.2010, 20:48  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,356
Сказал спасибо: 85
Сказали Спасибо 611 раз(а) в 370 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

в модуле cnt2 не задано начальное значение q
pambaru на форуме  
Сказали "Спасибо" pambaru
sim232 (10.06.2010)
Непрочитано 10.06.2010, 21:02  
sim232
Частый гость
 
Регистрация: 26.09.2007
Сообщений: 20
Сказал спасибо: 2
Сказали Спасибо 18 раз(а) в 2 сообщении(ях)
sim232 на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

Сообщение от pambaru Посмотреть сообщение
в модуле cnt2 не задано начальное значение q
Спасибо, действительно теперь выводит так как надо.
sim232 вне форума  
Непрочитано 06.08.2010, 19:56  
Popeye
Почётный гражданин KAZUS.RU
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

Извиняюсь предварительно за некоторую тупость. Просто сегодня прорвался прыщ непонимания ПЛИС Вопрос, что ставить ? Quartus10.0 в урезаном виде требует5ГБ. Много На работе диск 80Г, C:\ из за сканирования для вирусов только 8, весь. Сдуру при свободом 1Г начал ставить веб версию Quartus10. В результате при свободном месте 11МБ на C:\ Виндовс взвыл. После очистки скачал 7.0. Инсталяция 500МБ, на диске занимает 1ГБ. Вполне приличный товар. 4 часа слушал руководство, для 6.1 кстати. Однако там не сказано об элементарной операции правая кнопка мыши-›insert-›берем компонент и ставим в схему. Kaкой то визард объяснялся Плюс не понял как с регистрацией. Точка автоматического получения лицензии не сработала. Пустил 30 дневный пробный период.
Надо:
1. Инсталяционный пакет до 1ГБ
2. Требуемое место на диске до 2ГБ
3. правая кнопка мыши-›insert-›компонент
4. Регистрация без особых проблем, как понял веб версия устроит
5. Не требуется поддержка дорогих чипов. Здесь MAX3000A вполне доставабельна. EPM3032ATC44-10N по цене 4 евро. CYCLONE EP1C3T100C8N 15 евро.

Все это надобно для работы в связке с микроконтроллером. Чтоб быстрые процессы переваривала ПЛИС и потихоньку выдавала информацию в некий ПИК. Страсть сделать цифровой осциллограф не обошла и меня
Пока так,
Удачи и спасибо заранее !
__________________
Мыслю, следовательно существую
Popeye вне форума  
Непрочитано 06.08.2010, 21:48  
Андрей К
Почётный гражданин KAZUS.RU
 
Аватар для Андрей К
 
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 4,003
Сказал спасибо: 165
Сказали Спасибо 1,243 раз(а) в 733 сообщении(ях)
Андрей К на пути к лучшему
По умолчанию Re: ПЛИС "вопросы-ответы"

Здравствуйте всем! Тему с ПЛИС вы подняли реально вовремя, она интересна и насущна. Читая полностью все посты я понять не могу: почему все интересуются Altera, а где фанаты Xilinx? Я как и автор темы освоил CPLD XC9500 практически довольно быстро, но пока с вводом проекта в виде схемотехники так как не настроен мозг на языки программирования. Так эта тема будет для всех производителей ПЛИС?
Андрей К вне форума  
Сказали "Спасибо" Андрей К
IZEVS (16.08.2010)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А по ПЛИС никто не хочет how-to замутить? spballiance Микроконтроллеры, АЦП, память и т.д 52 12.04.2010 13:03
Посоветуйте вместительную ПЛИС alexey5634 TTL и CMOS логика 24 14.03.2010 14:30


Часовой пояс GMT +4, время: 09:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot