Перейти к содержанию
    

Для опыта мною была взята плата 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

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

 

13170289m.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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];

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ужас! Огромный шрифт, красный буквы... У Вас что, предифарктное состояние???

Что значит "первый диод"? Это как у Высоцкого: "На первый-второй рассчитайсь"..

И вот это что значит? Подумайте, где это нужно, и где - нет...

assign #1 led = cnt[27:20];

 

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

 

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

 

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

 

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

1. Подход к оформлению у Вас дикий. И такое оформление у нас на форуме НЕ ПРИНЯТО! Сам вопрос задан не правильно. Ни к LED ни к СистемВерилогу отношения никакого не имеет. Обычный верилог и непонятки с симулятором.

2. "Ну вы изучали этот язык?" Отвечаю. Изучил. Доказано моими статьями у меня на сайте...

3. "присваивание с интервалом в 1 временную единицу значению led " - выполнится только в симуляторе. Задерживается на 1 после фронта клока...

4. "Запускал симуляцию в Module Sim,и что-то мне кажется она некорректно работает." - что именно кажется? И что "некорректно работает". Как запускали? Где тестбенч?

5. Поскольку не приведен файл, в котором есть связь между выводами ПЛИС " схеме он обозначен как (Lights1)" и сигналами проекта - "led", то мой вопрос остается в силе... Из "[7:0]led" кто и как должен мигать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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".Тест бенч к сожалению предоставить не могу т.к. он остался у меня на рабочем компьютере.Хочу проделать тоже самое на ноутбуке жду завершения установки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 симуляции мало?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Спорьте... Только сначала объясните разницу между двумя строками..

Вот у Вас:

always @(posedge clock)

и вот это:

always_ff @(posedge clock)

 

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

 

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

 

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

1.Я лишь новичок в данной среде и что факт.Несомненно вы бесспорно знаете больше чем я.Я просто констатирую вещи как слышу.Явно между этими записями есть разница.

2.Моя задача ,чтобы диод загорался через каждую одну секунду.Просто я не имею представления как можно реализовать этот промежуток.Отсюда и проблема с тестбенчем.На данный момент не могу вам предоставить так как до сих пор идет установка программы.

3.На счет этого могу сказать ,что я опять таки осваиваю эту среду.И мне далеко до вас ,который разбирается в этом довольно таки хорошо.Поэтому и обратился за помощью

P.S.Зачем так критично относиться к тем кто всего на всего осваивает что-то новое и просто просит разобраться.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1.Я лишь новичок в данной среде и что факт.Несомненно вы бесспорно знаете больше чем я.Я просто констатирую вещи как слышу.Явно между этими записями есть разница.

2.Моя задача ,чтобы диод загорался через каждую одну секунду.Просто я не имею представления как можно реализовать этот промежуток.Отсюда и проблема с тестбенчем.На данный момент не могу вам предоставить так как до сих пор идет установка программы.

3.На счет этого могу сказать ,что я опять таки осваиваю эту среду.И мне далеко до вас ,который разбирается в этом довольно таки хорошо.Поэтому и обратился за помощью

P.S.Зачем так критично относиться к тем кто всего на всего осваивает что-то новое и просто просит разобраться.

1. Первая запись - Верилог. Вторая - СистемВерилог.

2. Как организовать 1 сек? На ПЛИС приходят импульсы от внешнего генератора. Смотрите схему платы. Соответственно надо указать это в файле, где дается привязка сигналов к выводам. Эти импульсы подаем на счетчик и считаем. Как делать тестбенч и отладку? Смотрите "Краткий Курс", главу про отладку. Или могу показать по скайпу прямо с рабочего стола...

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Первая запись - Верилог. Вторая - СистемВерилог.

2. Как организовать 1 сек? На ПЛИС приходят импульсы от внешнего генератора. Смотрите схему платы. Соответственно надо указать это в файле, где дается привязка сигналов к выводам. Эти импульсы подаем на счетчик и считаем. Как делать тестбенч и отладку? Смотрите "Краткий Курс", главу про отладку. Или могу показать по скайпу прямо с рабочего стола...

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

 

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

 

3.В следующий раз постараюсь все предоставить максимально понятно и указывая на все материалы , которые необходимы в решении данного вопроса.Приношу извинения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

На самом деле комплект файлов, который делает разработчик состоит из:

исходники на верилоге или на vhdl.

тестбенчи. это нужно только для отладки и в кристалл не грузится

файлы констрейнов. это файлы временных ограничений и файлы привязки сигналов к выводам, характеристики выводов ПЛИС

описания проекта

тесты для Си, если скажем ПЛИС можно тестировать с хоста

файлы "прошивок" - это то, что будет потом грузиться в кристалл

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На самом деле комплект файлов, который делает разработчик состоит из:

исходники на верилоге или на vhdl.

тестбенчи. это нужно только для отладки и в кристалл не грузится

файлы констрейнов. это файлы временных ограничений и файлы привязки сигналов к выводам, характеристики выводов ПЛИС

описания проекта

тесты для Си, если скажем ПЛИС можно тестировать с хоста

файлы "прошивок" - это то, что будет потом грузиться в кристалл

 

Нужно будет разобраться со всем этим.Не думал что все на столько замудрено.Раньше все указывал в самих программах а точнее в коде программы.Интересный язык программирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно будет разобраться со всем этим.Не думал что все на столько замудрено.Раньше все указывал в самих программах а точнее в коде программы.Интересный язык программирования.

Сначала забудьте слово "программирование".

В микроконтроллере - фиксированная структура железа, а прядок работы записан программой в памяти.

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

Поэтому методика разработки тут другая совершенно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я думал прописав задержку в виде #1 и все мои проблемы будут решены.

#1 распознаётся только системами моделирования, компиляторы их пропускают за ненадобностью.

Если хотите выдержать некоторое время, надо использовать счётчик. Счётчик, в нашем случае, считает такты тактового генератора, и какая частота этих тактов, такое время и будит считать счётчик.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...