вопросы по Verilog

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Nevox
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Re: вопросы по Verilog

Сообщение Nevox »

1MHZ
Pawel91
Родился
Сообщения: 10
Зарегистрирован: Вт окт 22, 2013 18:20:52

Re: вопросы по Verilog

Сообщение Pawel91 »

Может дело в конкретной ПЛИС, моя программа
module q1 (clk2, clk1);
input clk1;
output clk2;
assign clk2 = clk1;
endmodule

При моделировании в Quartus работает, задержка между сигналами 4.032 ns
Вы какую среду используете?
Nevox
Мучитель микросхем
Сообщения: 426
Зарегистрирован: Чт авг 09, 2012 08:57:20

Re: вопросы по Verilog

Сообщение Nevox »

я делаю конечный автомат в Active-hdl щас. И вот,что выдает
Вложения
клок.png
(38.27 КБ) 792 скачивания
Аватара пользователя
baghear
Опытный кот
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Re: вопросы по Verilog

Сообщение baghear »

Добрый день, подскажите пожалуйста почему не компилится программа

module first_project(
input [1:0] data,
input clk,
output [1:0] out
);

reg [1:0] count;
always
case (clk)

1'b0:
begin
count[0] <= data[0];
assign out[0] = count[0];
end

1'b1:
begin
count[1] <= data[1];
assign out[1] = count[1];
end

endcase
endmodule

Error (10137): Verilog HDL Procedural Assignment error at habr.v(14): object "out" on left-hand side of assignment must have a variable data type
Error (10137): Verilog HDL Procedural Assignment error at habr.v(20): object "out" on left-hand side of assignment must have a variable data type
Tom91
Встал на лапы
Сообщения: 108
Зарегистрирован: Пт окт 08, 2010 15:43:55

Re: вопросы по Verilog

Сообщение Tom91 »

Кто правильно истолкует логику работы и отличие строчек:

assign led = (count > A-1) && (count < A+B-1)

assign led = (count >= A-1) && (count <= A+B-1)
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: вопросы по Verilog

Сообщение Meteor »

Насколько понимаю:
Tom91 писал(а):assign led = (count > A-1) && (count < A+B-1)

Если значение счетчика count больше чем А-1 и при этом мешьше чем А+В-1, то led=1. Иначе led=0
Tom91 писал(а):assign led = (count >= A-1) && (count <= A+B-1)

Аналогично, но если счетчик больше или равен A-1 и меньше или равен А+В-1, то тоже 1, иначе 0.
Отличия выделил жирным шрифтом
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Tom91
Встал на лапы
Сообщения: 108
Зарегистрирован: Пт окт 08, 2010 15:43:55

Re: вопросы по Verilog

Сообщение Tom91 »

Тогда почему count <= count + 1 - работает на увеличение счётчика... И вообще если читать теорию то "<=" является неблокирующим присвоением, исходя из этого нижняя строчка вообще не должна давать горение светодиода.

Не особо понятно как применять "=" , "<=" , "<", ">", ">=" .
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: вопросы по Verilog

Сообщение dimitriy91 »

Добрый день, подскажите пожалуйста как можно использовать $fopen() в Quartus ?
Error (10174): Verilog HDL Unsupported Feature error at ... system function "$fopen" is not supported for synthesis

Самое интересно, на функцию $fdisplay() не ругается.
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Ответить

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