МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: Связи

Связи 7 года 7 мес. назад #33

  • dolkons
  • dolkons аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 1
Предположим у нас есть 2 модуля: счетчик, и затем декодер. Я знаю, как описать отдельно каждый из модулей. А как описать один модуль, который содержал бы в себе эти 2 модуля?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связи 7 года 7 мес. назад #35

А вы на каком языке это все описываете?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связи 7 года 7 мес. назад #36

  • nckm
  • nckm аватар
  • Не в сети
  • Администрация форума
  • Администрация форума
  • Сообщений: 88
  • Спасибо получено: 23
я думаю как то примерно так:
1) модуль счетчика:

module counter(input wire reset, input wire clk, output reg [2:0]val);
always @(posedge clk or posedge reset)
if(reset)
val <= 0;
else
val <= val + 1;
endmodule

2) модуль дешифратора
module my_decoder(input wire [2:0]inp_val, output reg [7:0]out_val);
always @*
out_val = 1 << inp_val;
endmodule

3) модуль верхнего уровня

module my_top(input wire reset, input wire clock, output wire [7:0]qqq);
wire [2:0]to_dec;
counter counter_inst(.reset(reset),.clk(clock),.val(to_dec));
my_decoder my_decoder_inst(.inp_val(to_dec),.out_val(qqq));
endmodule

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связи 7 года 7 мес. назад #37

  • nckm
  • nckm аватар
  • Не в сети
  • Администрация форума
  • Администрация форума
  • Сообщений: 88
  • Спасибо получено: 23
вот тут было кое что про иерархию проекта
marsohod.org/11-blog/79-veriloglesson2
Спасибо сказали: dolkons

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связи 7 года 7 мес. назад #38

dolkons пишет: Предположим у нас есть 2 модуля: счетчик, и затем декодер. Я знаю, как описать отдельно каждый из модулей. А как описать один модуль, который содержал бы в себе эти 2 модуля?


В один always по "клоку" (clk) затащить всю регистровую часть.
В assign затащить всю асинхронную часть, можно промежуточные выражения перекидывать на провода wire а не под assign.
В заголовок модуля вынести все входа и выхода которые остаются от объединения модулей.

А какой смысл? Два разных модуля практично, если вы никуда не торопитесь. Симулировать проще, разбираться проще, рассматривать на флор-плане и на RTL тоже удобней.
Спасибо сказали: dolkons

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связи 7 года 7 мес. назад #39

  • dolkons
  • dolkons аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 1
Проще то проще...я просто учусь пока. Потому и спрашиваю. За ответы огромное спасибо!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.154 секунд

facebook  GitHub  YouTube  Twitter