Я не знаю, что не так с моим кодом, возможно, много чего. прямо сейчас, я не могу понять, как назначить значения регистров для моих выходов En. Сейчас я должен использовать код Verilog для курса цифровых схем. Мне немного надоедает.Вопросы Verilog
`timescale 1ns/1ps
///////////////////////////////////////////////////////////////////////////////// /
// Company:
// Engineer:
//
// Create Date: 13:57:18 03/15/2016
// Design Name:
// Module Name: Moving7Seg
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module Moving7Seg(B, C, Rst, ClkIn, D6, D5, D4, D3, D2, D1, D0, En3, En2, En1, En0);
input B, C, Rst, ClkIn;
output D6, D5, D4, D3, D2, D1, D0, En3, En2, En1, En0;
//wire D6, D5, D4, D3, D2, D1, D0, En3, En2, En1, En0;
reg ClkOut = 0;
reg bLast = 0;
reg cLast = 0;
//reg rstLast = 0;
reg [3:0]count = 0;
reg [3:0]enable = 4'b0001;
clockdivider getClk(ClkIn, ClkOut);
seg7 convert(count[3], count[2], count[1], count[0], D6, D5, D4, D3, D2, D1, D0);
always @(posedge ClkOut) begin
if(Rst == 1) begin
count = 0;
enable = 4'b0001;
end
if(B != bLast && B == 0) begin
case(enable)
4'b0001: enable = 4'b0010;
4'b0010: enable = 4'b0100;
4'b0100: enable = 4'b1000;
default: enable = 4'b0001;
endcase
end
if(C != cLast && C == 0) begin
count = count + 1;
end
bLast = B;
cLast = C;
//rstLast = Rst;
end
En3 <= enable[3];
En2 <= enable[2];
En1 <= enable[1];
En0 <= enable[0];
convert;
endmodule
Измените 'output D6, D5, D4, D3, D2, D1, D0, En3, En2, En1, En0;' для вывода D6, D5, D4, D3, D2, D1, D0; 'и другой строки 'output reg En3, En2, En1, En0;' – Greg
Все назначения, такие как 'En3 <= enable [3];' должны находиться внутри процедурных блоков. Не нужно вызывать экземпляр модуля ('convert' в конце). Экземпляры автоматически выполняются на каждом временном шаге. – rahulcodesinverilog
У меня были задания типа «En3 <= enable [3];» в конце всегда блока, но это еще не было распознано ». Ссылка на скалярный провод« En3 »не является юридическим регистром или переменной lvalue» – Raisintoe