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

 
 
 
Reply to this topicStart new topic
> Junior FPGA Design Engineer: что должен знать?
Marat Zuev
сообщение May 8 2018, 10:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 8-05-18
Пользователь №: 103 834



Доброго всем!

В одной хорошей статье Junior FPGA Design Engineer: как стать? автор приводит довольно много примеров того, что (по его мнению) должен знать и уметь Junior FPGA Design Engineer. Но, как справедливо подмечено в комментариях, "далеко не каждый Junior (и даже Middle) может похвастаться всем тем, что требуется из списка «Необходимо»". К стыду своему следует признаться, что отношусь к одному из таких, хотя имею много лет стажа Verilog RTL-кодирования.

Например, такая задача из тестовых вопросов:
2 Есть ли разница между следующими тремя описаниями? Если да, то в чём она проявляется?
Код
// code 1:
assign a = b + c;

// code 2:
always @( b or c )
  begin
    a = b + c;
  end

// code 3:
always @( * )
  begin
    a = b + c;
  end

ставит меня в тупик.

По-моему мнению, эти описания абсолютно эквивалентны, но, подозреваю, что могу сильно ошибаться.
Был бы признателен за содержательный ответ.


--------------------
--
С наилучшими пожеланиями, Marat.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение May 8 2018, 10:27
Сообщение #2


В поисках себя...
****

Группа: Свой
Сообщений: 604
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



На Ваш вопрос ответит любой синтезатор rolleyes.gif

Warning from admin:
Оверквотинг запрещен правилами форума, п.3.4


Сообщение отредактировал makc - May 8 2018, 10:30
Go to the top of the page
 
+Quote Post
makc
сообщение May 8 2018, 10:28
Сообщение #3


Гуру
******

Группа: Админы
Сообщений: 3 586
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Вопрос: как Вы думаете, что будет происходить при моделировании описанных конструкций в симуляторе? Желательно опишите эти варианты пошагово в контексте модуля, содержащего и другие сигналы/конструкции.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
iosifk
сообщение May 8 2018, 10:45
Сообщение #4


Гуру
******

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



Цитата(Flip-fl0p @ May 8 2018, 13:27) *
На Ваш вопрос ответит любой синтезатор

А я добавлю. Автор статьи, на которую была ссылка тоже неплохой парень. И можно у него спросить...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Lutovid
сообщение May 8 2018, 13:22
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 24-02-14
Из: Москва
Пользователь №: 80 661



с точки синтезатора это одно и то же - я проверил на всякий случай
С точки зрения симуляции то же все одинаково вроде должно быть

единственное различие в том, что в 2х последних случаях выходы должны быть reg

Я бы добавил - это статья - предложение с чего бы начать. Не корректно ее юзать работодателем для отсева неквалифицированных кадров)) Не стоит сильно расстраиваться, если что-то не знаете, как правило если раньше с этим не сталкивались за годы работы в данной сфере, то это вам и не особо нужно(есть конечно исключения)
p.s. это мое личное мнение
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Marat Zuev
сообщение May 10 2018, 08:08
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 8-05-18
Пользователь №: 103 834



Цитата(Flip-fl0p @ May 8 2018, 11:27) *
На Ваш вопрос ответит любой синтезатор rolleyes.gif
Синтезатор с собой на собеседование не возьмёшь ))
Но Ваш отсыл справедлив, просто захотелось послушать мнение профессионалов )

Цитата(iosifk @ May 8 2018, 11:45) *
А я добавлю. Автор статьи, на которую была ссылка тоже неплохой парень. И можно у него спросить...
Здесь все - неплохие парни. Поэтому, решил, что будет лучше спросить у всех.
Но и Ваш совет тоже учту на будущее (есть в статье ещё непонятные вопросы).


Цитата(Lutovid @ May 8 2018, 14:22) *
с точки синтезатора это одно и то же - я проверил на всякий случай
Да, тоже проверил. Синтезатор Quartusa даёт такой RTL вид:


Цитата(Lutovid @ May 8 2018, 14:22) *
С точки зрения симуляции то же все одинаково вроде должно быть
Да, Modelsim
Код
module wires_vs_regs_tb;

reg b, c;
wire a_net;
wire [1:0] a_reg;

wires_vs_regs wires_vs_regs_inst(.a_net(a_net), .a_reg(a_reg), .b(b), .c(c));

initial begin
    #0  b = 0; c = 0;
    #10 b = 1;
    #10 b = 0; c = 1;
    #10 b = 1;
    #10 $finish;
end

initial
    $monitor("At %2t b = %1b, c = %1b -> a_net = %1b, a_reg[1:0] = %2b", $time, b, c, a_net, a_reg);

endmodule // wires_vs_regs_tb
даёт:

# At 0 b = 0, c = 0 -> a_net = 0, a_reg[1:0] = 00
# At 10 b = 1, c = 0 -> a_net = 1, a_reg[1:0] = 11
# At 20 b = 0, c = 1 -> a_net = 1, a_reg[1:0] = 11
# At 30 b = 1, c = 1 -> a_net = 0, a_reg[1:0] = 00

Цитата(Lutovid @ May 8 2018, 14:22) *
единственное различие в том, что в 2х последних случаях выходы должны быть reg
Снова согласен: Quartus сразу же поправил описание цепей и переменных:

Код
module wires_vs_regs(
    input b, c,
    output a_net,
    output reg [1:0] a_reg
);

// code 1:
assign a_net = b + c;

// code 2:
always @( b or c )
  begin
    a_reg[0] = b + c;
  end

// code 3:
always @( * )
  begin
    a_reg[1] = b + c;
  end

endmodule // wires_vs_regs


Цитата(Lutovid @ May 8 2018, 14:22) *
Я бы добавил - это статья - предложение с чего бы начать. Не корректно ее юзать работодателем для отсева неквалифицированных кадров)) Не стоит сильно расстраиваться, если что-то не знаете, как правило если раньше с этим не сталкивались за годы работы в данной сфере, то это вам и не особо нужно(есть конечно исключения)
p.s. это мое личное мнение
Спасибо Вам за поддержку и всем за советы.
На всякий случай приложу архив с проектом: вдруг, кто в будущем с этим же столкнётся? )




Прикрепленные файлы
Прикрепленный файл  wires_vs_regs.rar ( 2.74 килобайт ) Кол-во скачиваний: 2
 


--------------------
--
С наилучшими пожеланиями, Marat.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th May 2018 - 21:04
Рейтинг@Mail.ru


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