Форум программистов, компьютерный форум, киберфорум
Hretgir
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Если у кого-то пригорает - всегда можно сделать всё самому.

Запись от Hretgir размещена 07.07.2024 в 17:50

Кто-то считает себя превыше знаний и опыта накопленного человечеством, это знакомая ситуация.
Задал вопрос по соединениям шин в verilog, на этом форуме тишина, на форуме самохвальных спецов, ранее утверждающих что схема и verilog совершенно разные вещи - начали утверждать что не разные, а одно и то-же. Налицо хроническое переутомление от тяжёлых условий труда, выраженное в лёгкой амнезии.
Ну если люди так устают, что забывают что тоже когда-то учились по источникам знаний, на которые теперь не могут в силу обстоятельств дать ссылки, впору немного спешиться - отказаться от расключения экземпляров шинами и переиначить проект до реализации всего, а это пока мигание диодами, в модуле, который хоть и без параметров пока, но задумывался как библиотечный.
Значит как-то так будет.
Всё в последнем модуле
Кликните здесь для просмотра всего текста
Код:
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 MyCount
(input clk, sens, output led);
reg [25:0] count =1;
reg led_reg = 0;
assign led = led_reg;
wire sens1;
assign sens1 = sens; 
always @ (posedge clk)
begin
if (sens1 == 1) begin
led_reg = 1;
 count = count +1;
if (count == 50000000) begin
count <= 1;
led_reg = ~ led_reg;
end
end
led_reg = 0;
end
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
//MyC myc(StartTact, Set,  ResLim, ResFil, Fillsin, limit, Run, Zero, Unit, ORi[i], OutFillsi[i], OutStu1[i], OutFStu[i], OutFStu1[i]
//,se[i+1],se[i], 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 Mych();
wire  [0:0]se[0:5];
wire [0:0]ActivMemo[0:5];
wire Finish, FinishTact, Set;
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
MyC myc(StartTact, Set,  ResLim, ResFil, Fillsin, limit, Run, Zero, Unit, ORi[i], OutFillsi[i], OutStu1[i], OutFStu[i], OutFStu1[i]
,se[i+1],se[i], 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
Trs trs_Finish(Finish,Set,Set);
endmodule
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot from 2024-07-07 17-50-09.png
Просмотров: 47
Размер:	28.0 Кб
ID:	8835   Нажмите на изображение для увеличения
Название: Screenshot from 2024-07-07 17-57-04.png
Просмотров: 52
Размер:	16.0 Кб
ID:	8836  
Размещено в Без категории
Показов 247 Комментарии 2
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Цитата:
    Задал вопрос по соединениям шин в verilog, на этом форуме тишина, на форуме самохвальных спецов, ранее утверждающих что схема и verilog совершенно разные вещи
    Лет двадцать назад был такой руководитель, который про это говорил. Ну если вы частотомер делаете это одно
    (наверное). Хотя частотомер , частотомеру рознь....
    Запись от sporta1982 размещена 09.07.2024 в 11:35 sporta1982 вне форума
  2. Старый комментарий
    Цитата:
    Сообщение от sporta1982 Просмотреть комментарий
    Лет двадцать назад был такой руководитель, который про это говорил. Ну если вы частотомер делаете это одно
    (наверное). Хотя частотомер , частотомеру рознь....
    не знаю, у меня о том форуме, что я писал, только отрицательные воспоминания. Всё что могу добавить, что вероятно к их тяжёлым условиям можно отнести и отклонения в питании.

    Verilog - включает в себя несколько стилей, и стиль описания схем включительно.
    Дело в том, что у тех людей изменяется то, что они доказывают другим - вероятно воздействие пищи. Буквально пару месяцев назад - они доказывали одно, теперь совершенно противоположное.
    Запись от Hretgir размещена Сегодня в 19:11 Hretgir на форуме
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru