вопрос по Quartus II

Программируемая логика - это не так уж и сложно. Разберемся вместе.
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

вопрос по Quartus II

Сообщение pirotehnick »

Добрый день!

Есть такая проблема компилятор ругается
Error (10200): Verilog HDL Conditional Statement error (255): cannot match operand(s) in the condition to the corresponding edges in the enclosing event control of the always construct

на следующий кусок кода

Код: Выделить всё

//.........
reg  lo_1;
reg  lo_2;
reg  lo_3;
reg en_spi_clk;
reg  valb1;

//.......
always @ (posedge en_spi_clk or  posedge valb1)
begin

 lo_1 = en_spi_clk;
 lo_2 = valb1;
 lo_3 = lo_1&lo_2;
 
 if (lo_3)
 valb2 <= 1'b1;
 else
 if (valb1)
 valb2 <= 1'b0;
end

//.....


Не могу понять! Что ни как нельзя проверить en_spi_clk & valb1 ???
Если например сработал сигнал valb1 и en_spi_clk == 1 тогда делать то...
иначе если сработал сигнал valb1 и en_spi_clk == 0 тогда делать следующее...?
Последний раз редактировалось pirotehnick Ср апр 22, 2015 12:50:10, всего редактировалось 2 раза.
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: вопрос по Quartus II

Сообщение Morroc »

Ошибку то скиньте тоже. И то, что оно ругается именно на эту часть кода не означает, что ошибка именно в ней, возможна в разных частях кода пытаетесь взаимозависимые действия произвести или что то в этом роде.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

Re: вопрос по Quartus II

Сообщение pirotehnick »

Ага, добавил описание ошибки...
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: вопрос по Quartus II

Сообщение Morroc »

Это весь always или ниже еще что то есть ? Попробуйте исключить оттуда if где используются en_spi_clk и valb1.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

Re: вопрос по Quartus II

Сообщение pirotehnick »

Да, это весь блок always...
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

Re: вопрос по Quartus II

Сообщение pirotehnick »

Morroc писал(а):Попробуйте исключить оттуда if где используются en_spi_clk и valb1.


А как мне ещё проверить условие (en_spi_clk & valb1) внутри этого блока ?
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: вопрос по Quartus II

Сообщение Meteor »

Блин, что не тема, то обязательно грабли асинхронщины причем одни и теже. Мульён раз писали в alwayse не надо прописывать более одного сигнала. Правильнее сделать так. наверняка есть тактовая частота, более высокая нежели en_spi_clk или valbl. Назначьте ее (тактовую) в качестве чувствительного сигнала (posedge clk), а уже внутри алвайса проводите проверку на то что en_spi_clk=1 или valdl=1. Если нужно отработать только фронты - назначайте переменные с разрядностью больше одного бита, заводите в эти переменные сигналы и отлавливайте условия var="01" или var="10"(если разрядов два).
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: вопрос по Quartus II

Сообщение Morroc »

Можно какой нибудь кусочек кода с последним вариантом ?
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: вопрос по Quartus II

Сообщение Meteor »

Как делаю у себя (vhdl, перевести на верилог в качестве домашнего задания)

Код: Выделить всё

entity primer is
port(
clk,sclk,ena, dti:in std_logic;
dout:out std_logic_vector(7 downto 0)
);

architecture rg of primer is
begin
process(clk)
variable dt_v:std_logic_vector(7 downto 0);--заполняемая переменная
variable sclk_v:std_logic_vector(1 downto 0);-- переменная для выделения фронта сигнала
begin
    if(rising_edge(clk))then
       sclk_v:=sclk_v(0)&sclk;--сдвиг сигнала
       if(ena='1')then--если разрешено
          if(sclk_v="10")then--если задний фронт
               dt_v:=dt_v(6 downto 0)&dti;--заполняем переменную
          end if;
       end if;
      dout<=dt_v;--вывод данных
    end if;
end process;
end rg;

Некоторое уточнение, тактовый сигнал clk должен иметь в несколько раз (минимум 2, но лучше больше) большую частоту, чем сигналы ena и sclk
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: вопрос по Quartus II

Сообщение Morroc »

Ага... Что то типа ?

Код: Выделить всё

module mymod ( gclk, sclk, dti, dout, ena );

input        gclk;
input        sclk;
input        dti;
output       [7:0] dout;
input        ena;
reg          [1:0] sclk_v;
reg          [7:0] dt_v;

always @(posedge gclk)
begin
  sclk_v = {sclk_v[0], sclk};
  if (ena == 1)
    if (sclk_v == "10")
      dt_v = {dt_v[6:0], dti};
end
 
assign dout = dt_v;
 
endmodule
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: вопрос по Quartus II

Сообщение Meteor »

Похоже! Ну теперь дело за малым - проект в modelsim и проверить его работу
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: вопрос по Quartus II

Сообщение СКАЗОЧНИК »

Привет всем. Котаны, подскажите, а с Альтеры сейчас можно ли скачать Квартус 2 без регистрации??? Или где его можно скачать адекватно? А то я там регистрировать не могу, бесит меня, все время по новой форму заполнять. :kill:
Нужно для Циклона 4.
Станислав
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: вопрос по Quartus II

Сообщение Kavka »

СКАЗОЧНИК писал(а):А то я там регистрировать не могу
В смысле?
Один раз зарегался и пользуйся аккаунтом.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: вопрос по Quartus II

Сообщение СКАЗОЧНИК »

Да блин... полей много, ошибаюсь то там, то там... Да еще и ник-нэймы которые я выбираю уже все заняты и снова приходится с нуля заполнять... :facepalm: :evil:
четыре раза попробовал - псих взял... :kill:

Прошу прощения за глупые вопросы..
Все таки скачал я Квартус2 самой последней версии... Установил его (ну и объемчик... :shock: ). Теперь понял, что есть достаточно заметные различия с той версией, что описана на сайте Марсоход.орг.
Вопрос пока такой:
"Этот Квартус 2 версии 15.0 работает под виндой7 64 бита???" Или все таки переустанавливать надо систему на 32 разряда??
Станислав
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: вопрос по Quartus II

Сообщение СКАЗОЧНИК »

Но поскольку следующие версии Quartus II (начиная с 14.0) будут поддерживать только 64 разрядную ОС

Все, нашел. Вопрос исчерпал сам себя. :)
Станислав
pcb
Опытный кот
Сообщения: 833
Зарегистрирован: Пт авг 12, 2011 09:14:27
Откуда: Млечный путь/Земля/РФ/Екатеринбург

Re: вопрос по Quartus II

Сообщение pcb »

СКАЗОЧНИК писал(а):Все, нашел. Вопрос исчерпал сам себя. :)

Ты только сначала определись, с какими сериями будешь работать, а то они повыкидывали кучу из семейства.

И ещё Альтеру Интел покупает, и Латтисе тоже хочет продаться :shock:

глядишь, скоро процы с плисятиной будут ))
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: вопрос по Quartus II

Сообщение СКАЗОЧНИК »

Так мне как бы... рано еще определяться... Я в них вообще не бум-бум... Купил себе отладочную плату с Циклоном 4, думаю забросить ее до осени или зимы, пока дальше ковыряться с АВР. Однако, бывает любопытство зашкаливает, поэтому и изучаю по чуть-чуть что-то новое (для кого-то старое). :)))
Станислав
Аватара пользователя
ua1arn
Встал на лапы
Сообщения: 81
Зарегистрирован: Вт май 08, 2012 23:15:45
Откуда: Санкт - Петербург

Re: вопрос по Quartus II

Сообщение ua1arn »

СКАЗОЧНИК, а что за отладка? DE0 NANO?
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: вопрос по Quartus II

Сообщение СКАЗОЧНИК »

Не совсем понимаю ваш вопрос... Что такое "отладка ДЕО НАНО"?
Станислав
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: вопрос по Quartus II

Сообщение Meteor »

Раз не поняли - значит не она
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Ответить

Вернуться в «ПЛИС»