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

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

Не могу понять как это сделать. Gowin IDE

Цитата

module Trs
(input S, R, 
 output reg Q);
always @(*) begin
Q =0;
if (S==1) Q=1;
if (R==1) Q=0;
end
endmodule

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

module MyCF
(input StartTact, Set, ResLim, ResFil, Fillsin, limit,  Run, Zero, Unit, InJamp, InFillsin, InStub1, InFStub, InFStub1, Sel, Sel2,  
 output  Finish, OutJamp, OutFillsin, OutStub1, OutFStub, OutFStub1,  MemoriOut);
wire sig0;
bufif1 bf0(InFillsin, Fillsin, Sel);
Trs trs0(InFillsin, ResFil, trs0_0);
and a0(f1_0, Sel, limit);
Trs trs1(f1_0, ResLim, OutFStub);
not n0(OutFStub1, OutFStub);
xor x0(x0_0, OutFStub1, Sel2);
//bufif1 bf1(InFillsin, InFStub1, InFStub);
bufif1 bf2(OutFillsin, InFillsin, x0_0);
and an0(an0_0,  trs0_0, Unit);
and an1(an1_0,  trs0_0, Zero);
Trs trs2(an0_0, an1_0, trs2_0);
and an2(an2_0,  sig0, trs2_0);
and an3(an3_0,  InJamp, an2_0);
and an4(MemoriOut,  an3_0, StartTact);
and an5(an5_0, Sel, Run);
bufif1 bf3(InJamp, an5_0, an5_0);
Trs trs3(Set, MemoriOut, sig0);
xor x1(x1_0, trs2_0, sig0);
//bufif1 bf4(InJamp, InStub1, InStub1);
and an6(an6_0,  x1_0, x0_0);
not n1(OutStub1, an6_0);
bufif1 bf5(OutJamp, InJamp, an6_0);
and an7(Finish,  MemoriOut, OutFStub);
endmodule

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

module MyC
(input StartTact, Set, ResLim, ResFil, Fillsin, limit,  Run, Zero, Unit, InJamp, InFillsin, InStub1, InFStub, InFStub1, Sel, Sel2,
 output  Finish, OutJamp, OutFillsin, OutStub1, OutFStub, OutFStub1,  MemoriOut);
wire sig0;
bufif1 bf0(InFillsin, Fillsin, Sel);
Trs trs0(InFillsin, ResFil, trs0_0);
and a0(f1_0, Sel, limit);
Trs trs1(f1_0, ResLim, OutFStub);
not n0(OutFStub1, OutFStub);
xor x0(x0_0, OutFStub1, Sel2);
bufif1 bf1(InFillsin, InFStub1, InFStub);
bufif1 bf2(OutFillsin, InFillsin, x0_0);
and an0(an0_0,  trs0_0, Unit);
and an1(an1_0,  trs0_0, Zero);
Trs trs2(an0_0, an1_0, trs2_0);
and an2(an2_0,  sig0, trs2_0);
and an3(an3_0,  InJamp, an2_0);
and an4(MemoriOut,  an3_0, StartTact);
and an5(an5_0, Sel, Run);
bufif1 bf3(InJamp, an5_0, an5_0);
Trs trs3(Set, MemoriOut, sig0);
xor x1(x1_0, trs2_0, sig0);
bufif1 bf4(InJamp, InStub1, InStub1);
and an6(an6_0,  x1_0, x0_0);
not n1(OutStub1, an6_0);
bufif1 bf5(OutJamp, InJamp, an6_0);
and an7(Finish,  MemoriOut, OutFStub);
endmodule

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

module Mych
(input StartTact, Set,  ResLim, ResFil, Fillsin, limit, Run, Zero, Unit, InJamp, input wire  [0:0]se[0:5],
output  FinishTact, Finish, output wire [0:0]ActivMemo[0:5]);
genvar i;
generate
wire [0:2]OtJam, OutFillsi[0:5], OutStu1[0:5], OutFStu[0:5], OutFStu1[0:5], ORi[0:5], Fini[0:5];
MyCF mycf(StartTact, Set,  ResLim, ResFil, Fillsin, limit, Run, Zero, Unit,InJamp,,,,
,se[0],,Fini[0],ORi[0], OutFillsi[0], OutStu1[0], OutFStu[0], OutFStu1[0], ActivMemo[0]);
bufif1 bf0(FinishTact, ActivMemo[0], ActivMemo[0]);
bufif1 bf1(Finish, Fini[0], Fini[0]);
for (i=0; i<5; i=i+1 ) begin:MyC_generation
//assign se2 = se;
MyC myc(StartTact, Set,  ResLim, ResFil, Fillsin, limit, Run, Zero, Unit, ORi, OutFillsi, OutStu1, OutFStu, OutFStu1
,se[i+1],se, Fini[i+1],ORi[i+1], OutFillsi[i+1], OutStu1[i+1], OutFStu[i+1], OutFStu1[i+1], ActivMemo[i+1]);
bufif1 bf0(FinishTact, ActivMemo[i+1], ActivMemo[i+1]);
bufif1 bf1(Finish, Fini[i+1], Fini[i+1]);
end
endgenerate
endmodule

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 module MyTop();
wire  [0:0]se1[0:5];
wire  [0:0]Mout1[0:5];
//wire  [];
Mych mych1(,,,,,,,,,,se1,,,);

endmodule

Нужен пример расключения шины экземляра  Mych.

 

Изменено пользователем accurate_random

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


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

Ну что... на вентилятор по новой накидываете ?

Азбучные основы цифровой схемотехники для вас явно не авторитетны.

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


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

2 часа назад, Alex77 сказал:

Азбучные основы цифровой схемотехники для вас явно не авторитетны.

какое отношение имеет к топик старту? Там экземпляры, а значит verilog, а не схемотехника. Зашли крутить свой вентилятор? Так улетел, если что. Отправляйтесь и вы за ним вслед. Я схему выложил или что?

Изменено пользователем accurate_random

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


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

42 минуты назад, Alex77 сказал:

:dash1:

да по тематике подходит предыдущего сообщения

3 часа назад, Alex77 сказал:

Ну что... на вентилятор по новой ...?

 

Чёткие экспертные ответы, как и наверное всегда на протяжении долгих лет. Ладно, поищем дальше. Тут профиль форума явно другой - спецы по вентиляторам.

Вроде сами как-то заявляли дружным коллективом, что схемотехника не имеет отношения к verilog, вот темы

А теперь наоборот - verilog то же самое, что и схемотехника, ребята путаются в показаниях. Многолетнее, уже наверное хроническое, переутомление сказывается - тяжёлые условия работы, сопряжённые с вредностью и риском, некачественная пища, плохой сон (мало времени на сон и отдых). Вот показания постоянно и меняются - как результат. Но...думаю, что есть люди вполне привыкшие к таким условиям, может дать им шанс на образование? Люди живущие по правилам - в показаниях не путаются, они просто ответят - знают или нет, без лёгких  кратковременных обострений амнезии. Я вот например до сих пор учебник физики помню, не дословно, но ключевые моменты - да, как раз по электроннике. А времени прошло - 35лет что-ли... Где-то так. Да, 35 лет я отработал в тех самых условиях, пусть и прерывая стаж, но не на долго.

Изменено пользователем accurate_random

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


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

Если не в тех условиях, то близких к ним. То-есть со всеми факторами Вас так отягощающими - я так или иначе знаком не по наслышке.

Изменено пользователем accurate_random

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


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

6 часов назад, accurate_random сказал:

пример расключения шины

про какую именно шину вы спрашиваете?

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


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

Цитата

Не могу понять как это сделать

Для начала, начните с первого же модуля Trs.
Предполагаю, что в нем Вы пытались реализовать асинхронный RS-триггер. Если так, то у Вас это не получилось.
Взгляните что показывает RTL Viewer

Sch_RTL.jpg.231570cad6a62457b0ab8db63107f588.jpg

функциональная симуляция

simF.thumb.jpg.6cf9a53ffb1a327ae5f66e1c875eefb5.jpg

и схема уровня Gowin-примитивов

Sch_PRIM.thumb.jpg.12fb6c660c184cbace2ed1a23044fd75.jpg
Кстати, на функциональной симуляции показана виртуальная функция Q=~R&S (красный ромбик), которую Вы реализовали в модуле Trs.
Кроме того, если уж Вы решили пользоваться структурным (Structural) описанием схемы, то следовало бы ознакомиться с примитивами, используемыми в Gowin IDE, а лучше перейти на поведенческое (Behavioral) описание схемы.
К примеру, гораздо проще и понятней выглядит конструкция

f1_0 = Sel & limit

чем
 

and a0(f1_0, Sel, limit)

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


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

15 часов назад, accurate_random сказал:

Не могу понять как это сделать. Gowin IDE

Нужен пример расключения шины экземляра  Mych.

 

 

Если правильно понял нужно wire  [0:0]se1[0:5]; передать в модуль Mych mych1(,,,,,,,,,,se1,,,);

Во-первых, wire [0:0]se1[0:5]; это неупакованный массив, а неупакованный массив в модуль не передаётся.

Во-вторых, непонятен смысл [0:0].

Если [0:0] не нужен, тогда wire [0:0]se1[0:5]; можно переписать на wire [0:5]se1;, а лучше на wire [5:0]se1;. И вот тогда передать его в модуль обычным способом.

 

И не рекомендую использовать позиционное соединение, луче соединять по имени:

MyC myc(.StartTact(StartTact), ...);

И когда много портов записывать их в столбик.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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