реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> [LED-диод]-System Verilog, Мигание диода с интервалом в 1 секунду
Ensider
сообщение Mar 8 2017, 10:23
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 8-03-17
Пользователь №: 95 746



Для опыта мною была взята плата Cyclone 3 altera.Задача была ,чтобы первый диод загорался с интервалом в 1 секунду.Написал код в Quartus 2.Запускал симуляцию в Module Sim,и что-то мне кажется она некорректно работает.
module Ensider(
input wire clock,
output wire [7:0]led);
reg [27:0] cnt;
always @(posedge clock)
cnt <= cnt+1;
assign #1 led = cnt[27:20];
endmodule

Прикладываю схему принципиальную.

Go to the top of the page
 
+Quote Post
des333
сообщение Mar 8 2017, 10:43
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



А зачем Вы используете большой красный шрифт?


--------------------
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 8 2017, 10:47
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 3 450
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Ensider @ Mar 8 2017, 13:23) *
module Ensider(
input wire clock,
output wire [7:0]led);
reg [27:0] cnt;
always @(posedge clock)
cnt <= cnt+1;
assign #1 led = cnt[27:20];
endmodule


Ужас! Огромный шрифт, красный буквы... У Вас что, предифарктное состояние???
Что значит "первый диод"? Это как у Высоцкого: "На первый-второй рассчитайсь"..
И вот это что значит? Подумайте, где это нужно, и где - нет...
assign #1 led = cnt[27:20];

И зачем нам Ваша схема?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Ensider
сообщение Mar 8 2017, 12:16
Сообщение #4





Группа: Участник
Сообщений: 12
Регистрация: 8-03-17
Пользователь №: 95 746



Цитата(iosifk @ Mar 8 2017, 10:47) *
Ужас! Огромный шрифт, красный буквы... У Вас что, предифарктное состояние???
Что значит "первый диод"? Это как у Высоцкого: "На первый-второй рассчитайсь"..
И вот это что значит? Подумайте, где это нужно, и где - нет...
assign #1 led = cnt[27:20];

И зачем нам Ваша схема?


Шрифт огромный из-за моего подхода к оформлению.Первый диод значит то ,что на схеме он обозначен как (Lights1).Я просто хочу убедиться в работоспособности данного кода.И будет ли он у меня загораться с интервалом в 1 секунду.Я просто новичок в этом деле.Ну вы изучали этот язык?Это присваивание с интервалом в 1 временную единицу значению led Значения cnt.


Цитата(des333 @ Mar 8 2017, 10:43) *
А зачем Вы используете большой красный шрифт?

Издержки оформления.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 8 2017, 12:24
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 3 450
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Ensider @ Mar 8 2017, 15:16) *
Шрифт огромный из-за моего подхода к оформлению.Первый диод значит то ,что на схеме он обозначен как (Lights1).Я просто хочу убедиться в работоспособности данного кода.И будет ли он у меня загораться с интервалом в 1 секунду.Я просто новичок в этом деле. Ну вы изучали этот язык?Это присваивание с интервалом в 1 временную единицу значению led Значения cnt.



Издержки оформления.

1. Подход к оформлению у Вас дикий. И такое оформление у нас на форуме НЕ ПРИНЯТО! Сам вопрос задан не правильно. Ни к LED ни к СистемВерилогу отношения никакого не имеет. Обычный верилог и непонятки с симулятором.
2. "Ну вы изучали этот язык?" Отвечаю. Изучил. Доказано моими статьями у меня на сайте...
3. "присваивание с интервалом в 1 временную единицу значению led " - выполнится только в симуляторе. Задерживается на 1 после фронта клока...
4. "Запускал симуляцию в Module Sim,и что-то мне кажется она некорректно работает." - что именно кажется? И что "некорректно работает". Как запускали? Где тестбенч?
5. Поскольку не приведен файл, в котором есть связь между выводами ПЛИС " схеме он обозначен как (Lights1)" и сигналами проекта - "led", то мой вопрос остается в силе... Из "[7:0]led" кто и как должен мигать?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Ensider
сообщение Mar 8 2017, 12:42
Сообщение #6





Группа: Участник
Сообщений: 12
Регистрация: 8-03-17
Пользователь №: 95 746



Цитата(iosifk @ Mar 8 2017, 13:24) *
1. Подход к оформлению у Вас дикий. И такое оформление у нас на форуме НЕ ПРИНЯТО! Сам вопрос задан не правильно. Ни к LED ни к СистемВерилогу отношения никакого не имеет. Обычный верилог и непонятки с симулятором.
2. "Ну вы изучали этот язык?" Отвечаю. Изучил. Доказано моими статьями у меня на сайте...
3. "присваивание с интервалом в 1 временную единицу значению led " - ...
4. "Запускал симуляцию в Module Sim,и что-то мне кажется она некорректно работает." - что именно кажется? И что "некорректно работает". Как запускали? Где тестбенч?


1."Сам вопрос задан не правильно. Ни к LED ни к СистемВерилогу отношения никакого не имеет. Обычный верилог и непонятки с симулятором."-На счет того , что не имеет никакого значения к System Verilog я бы поспорил , т.к. мне сказали что платы на базе Cyclon 3 программируются именно на этом языке.LED-это просто обозначение сокращенное диода на плате.Вы же это знаете.
2."выполнится только в симуляторе. Задерживается на 1 после фронта клока"-дело в том , что щкала в ns.И он как-то странно работает.
3."что именно кажется? И что "некорректно работает". Как запускали? Где тестбенч?"-из-за шкалы не могу сосредоточиться что именно на секунду идет задержка.Распорядочно присваиваются значения на тестбенче.Запускал в Module Sim нажимая в Quartus "EDA Gate Level Simulation".Тест бенч к сожалению предоставить не могу т.к. он остался у меня на рабочем компьютере.Хочу проделать тоже самое на ноутбуке жду завершения установки.
Go to the top of the page
 
+Quote Post
wolfman
сообщение Mar 8 2017, 13:07
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 488
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Я не силён в верилог, но когда кажется, надо креститься.

Тактовая не укзана.

Вы не пробовали почитать основы языка, на котором пытаетесь что-то писать?


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 8 2017, 13:09
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 3 450
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Ensider @ Mar 8 2017, 15:42) *
1."Сам вопрос задан не правильно. Ни к LED ни к СистемВерилогу отношения никакого не имеет. Обычный верилог и непонятки с симулятором."-На счет того , что не имеет никакого значения к System Verilog я бы поспорил , т.к. мне сказали что платы на базе Cyclon 3 программируются именно на этом языке.LED-это просто обозначение сокращенное диода на плате.Вы же это знаете.
2."выполнится только в симуляторе. Задерживается на 1 после фронта клока"-дело в том , что щкала в ns.И он как-то странно работает.
3."что именно кажется? И что "некорректно работает". Как запускали? Где тестбенч?"-из-за шкалы не могу сосредоточиться что именно на секунду идет задержка.Распорядочно присваиваются значения на тестбенче.Запускал в Module Sim нажимая в Quartus "EDA Gate Level Simulation".Тест бенч к сожалению предоставить не могу т.к. он остался у меня на рабочем компьютере.Хочу проделать тоже самое на ноутбуке жду завершения установки.

1. Спорьте... Только сначала объясните разницу между двумя строками..
Вот у Вас:
always @(posedge clock)
и вот это:
always_ff @(posedge clock)

Я понимаю, что "мне сказали что платы на базе Cyclon 3 " - это мнение крутого "авторитета". Для Вас, но не для меня... Посмотрите на год разработки этой платы и узнайте, поддерживался ли тогда Квартусом СистемВерилог. А потом гордо плюньте в рожу Вашему "авторитету"... Ведь и до того, как Квартус начал поддерживать СистемВерилог люди как-то делали свои проекты на обычном верилоге, без "Систем"...

2. Представьте, к Вам приходит доктор и говорит: "я вас как-то лечу"... Это примерно то-же самое как и Ваше "как-то странно работает". У Вас описан обычный счетчик без сброса. По начальному состоянию он не определен. Потом он считает клоки. Длительность клока без тестбенча не известна. Но зато теперь ясно, что для симуляции дается задержка в 1 нс. И нахрена она нужна, если Вы ждете секундных изменений? И что тут странного? Гоняйте себе наносекундные клоки в счетчике до 1 сек, если делать нечего, много времени и диска.

3. На кой Вам "Gate Level Simulation"? Вам что для начала RTL симуляции мало?



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Ensider
сообщение Mar 8 2017, 13:30
Сообщение #9





Группа: Участник
Сообщений: 12
Регистрация: 8-03-17
Пользователь №: 95 746



Цитата(iosifk @ Mar 8 2017, 14:09) *
1. Спорьте... Только сначала объясните разницу между двумя строками..
Вот у Вас:
always @(posedge clock)
и вот это:
always_ff @(posedge clock)

Я понимаю, что "мне сказали что платы на базе Cyclon 3 " - это мнение крутого "авторитета". Для Вас, но не для меня... Посмотрите на год разработки этой платы и узнайте, поддерживался ли тогда Квартусом СистемВерилог. А потом гордо плюньте в рожу Вашему "авторитету"... Ведь и до того, как Квартус начал поддерживать СистемВерилог люди как-то делали свои проекты на обычном верилоге, без "Систем"...

2. Представьте, к Вам приходит доктор и говорит: "я вас как-то лечу"... Это примерно то-же самое как и Ваше "как-то странно работает". У Вас описан обычный счетчик без сброса. По начальному состоянию он не определен. Потом он считает клоки. Длительность клока без тестбенча не известна. Но зато теперь ясно, что для симуляции дается задержка в 1 нс. И нахрена она нужна, если Вы ждете секундных изменений? И что тут странного? Гоняйте себе наносекундные клоки в счетчике до 1 сек, если делать нечего, много времени и диска.

3. На кой Вам "Gate Level Simulation"? Вам что для начала RTL симуляции мало?

1.Я лишь новичок в данной среде и что факт.Несомненно вы бесспорно знаете больше чем я.Я просто констатирую вещи как слышу.Явно между этими записями есть разница.
2.Моя задача ,чтобы диод загорался через каждую одну секунду.Просто я не имею представления как можно реализовать этот промежуток.Отсюда и проблема с тестбенчем.На данный момент не могу вам предоставить так как до сих пор идет установка программы.
3.На счет этого могу сказать ,что я опять таки осваиваю эту среду.И мне далеко до вас ,который разбирается в этом довольно таки хорошо.Поэтому и обратился за помощью
P.S.Зачем так критично относиться к тем кто всего на всего осваивает что-то новое и просто просит разобраться.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 8 2017, 13:42
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 3 450
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Ensider @ Mar 8 2017, 16:30) *
1.Я лишь новичок в данной среде и что факт.Несомненно вы бесспорно знаете больше чем я.Я просто констатирую вещи как слышу.Явно между этими записями есть разница.
2.Моя задача ,чтобы диод загорался через каждую одну секунду.Просто я не имею представления как можно реализовать этот промежуток.Отсюда и проблема с тестбенчем.На данный момент не могу вам предоставить так как до сих пор идет установка программы.
3.На счет этого могу сказать ,что я опять таки осваиваю эту среду.И мне далеко до вас ,который разбирается в этом довольно таки хорошо.Поэтому и обратился за помощью
P.S.Зачем так критично относиться к тем кто всего на всего осваивает что-то новое и просто просит разобраться.

1. Первая запись - Верилог. Вторая - СистемВерилог.
2. Как организовать 1 сек? На ПЛИС приходят импульсы от внешнего генератора. Смотрите схему платы. Соответственно надо указать это в файле, где дается привязка сигналов к выводам. Эти импульсы подаем на счетчик и считаем. Как делать тестбенч и отладку? Смотрите "Краткий Курс", главу про отладку. Или могу показать по скайпу прямо с рабочего стола...
3. Когда просите помочь, то постарайтесь более полно сформулировать вопрос. Чем полнее напишите, тем быстрее получите ответ. Вы же до сих пор не написали, что такое "что-то не так"... sm.gif Просто считайте время, первый пост был в 13:23, т.е 3 часа назад. А ответ не может быть дан до сих пор, т.к. не понятно о чем именно Вы спросили. И единственный результат за 3 часа - это приведение шрифта в норму... sm.gif



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Ensider
сообщение Mar 8 2017, 14:01
Сообщение #11





Группа: Участник
Сообщений: 12
Регистрация: 8-03-17
Пользователь №: 95 746



Цитата(iosifk @ Mar 8 2017, 14:42) *
1. Первая запись - Верилог. Вторая - СистемВерилог.
2. Как организовать 1 сек? На ПЛИС приходят импульсы от внешнего генератора. Смотрите схему платы. Соответственно надо указать это в файле, где дается привязка сигналов к выводам. Эти импульсы подаем на счетчик и считаем. Как делать тестбенч и отладку? Смотрите "Краткий Курс", главу про отладку. Или могу показать по скайпу прямо с рабочего стола...
3. Когда просите помочь, то постарайтесь более полно сформулировать вопрос. Чем полнее напишите, тем быстрее получите ответ. Вы же до сих пор не написали, что такое "что-то не так"... sm.gif Просто считайте время, первый пост был в 13:23, т.е 3 часа назад. А ответ не может быть дан до сих пор, т.к. не понятно о чем именно Вы спросили. И единственный результат за 3 часа - это приведение шрифта в норму... sm.gif


2."Соответственно надо указать это в файле, где дается привязка сигналов к выводам."-под файлом вы подразумеваете текст программы?Я думал прописав задержку в виде #1 и все мои проблемы будут решены.Буду изучать этот краткий курс , не думал что это на столько проблемотично будет.[пытался на выходе прописать задержу output wire #1 [7:0]led чего компилятор не одобрил]

3.В следующий раз постараюсь все предоставить максимально понятно и указывая на все материалы , которые необходимы в решении данного вопроса.Приношу извинения.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 8 2017, 14:15
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 3 450
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Ensider @ Mar 8 2017, 17:01) *
2."Соответственно надо указать это в файле, где дается привязка сигналов к выводам."-под файлом вы подразумеваете текст программы?Я думал прописав задержку в виде #1 и все мои проблемы будут решены.Буду изучать этот краткий курс , не думал что это на столько проблемотично будет.[пытался на выходе прописать задержу output wire #1 [7:0]led чего компилятор не одобрил]

На самом деле комплект файлов, который делает разработчик состоит из:
исходники на верилоге или на vhdl.
тестбенчи. это нужно только для отладки и в кристалл не грузится
файлы констрейнов. это файлы временных ограничений и файлы привязки сигналов к выводам, характеристики выводов ПЛИС
описания проекта
тесты для Си, если скажем ПЛИС можно тестировать с хоста
файлы "прошивок" - это то, что будет потом грузиться в кристалл



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Ensider
сообщение Mar 8 2017, 14:23
Сообщение #13





Группа: Участник
Сообщений: 12
Регистрация: 8-03-17
Пользователь №: 95 746



Цитата(iosifk @ Mar 8 2017, 15:15) *
На самом деле комплект файлов, который делает разработчик состоит из:
исходники на верилоге или на vhdl.
тестбенчи. это нужно только для отладки и в кристалл не грузится
файлы констрейнов. это файлы временных ограничений и файлы привязки сигналов к выводам, характеристики выводов ПЛИС
описания проекта
тесты для Си, если скажем ПЛИС можно тестировать с хоста
файлы "прошивок" - это то, что будет потом грузиться в кристалл


Нужно будет разобраться со всем этим.Не думал что все на столько замудрено.Раньше все указывал в самих программах а точнее в коде программы.Интересный язык программирования.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 8 2017, 14:33
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 3 450
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Ensider @ Mar 8 2017, 17:23) *
Нужно будет разобраться со всем этим.Не думал что все на столько замудрено.Раньше все указывал в самих программах а точнее в коде программы.Интересный язык программирования.

Сначала забудьте слово "программирование".
В микроконтроллере - фиксированная структура железа, а прядок работы записан программой в памяти.
В ПЛИС нет программы. И нет фиксированной структуры. Именно ее Вы и описываете. А вот то, как будет себя вести ПЛИС зависит от описания и входных сигналов...
Поэтому методика разработки тут другая совершенно.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Jackov
сообщение Mar 8 2017, 20:38
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 258
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485



Цитата(Ensider @ Mar 8 2017, 17:01) *
Я думал прописав задержку в виде #1 и все мои проблемы будут решены.

#1 распознаётся только системами моделирования, компиляторы их пропускают за ненадобностью.
Если хотите выдержать некоторое время, надо использовать счётчик. Счётчик, в нашем случае, считает такты тактового генератора, и какая частота этих тактов, такое время и будит считать счётчик.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd March 2017 - 20:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016