Sanyochek21 0 7 ноября, 2021 Опубликовано 7 ноября, 2021 · Жалоба 19 часов назад, andrew_b сказал: А нахрена, изивините, вставлять текст картинкой? Это альтернативное мышление какое-то? module Reg_8 #(parameter WIDTH = 8) (input reset_n, input set, input clk, input write, input [WIDTH-1:0] D, output reg [WIDTH-1:0] Q); always@ (posedge clk or negedge reset_n or posedge set) if (!reset_n) Q <= 1'b0; else if (set) Q <= 1'b1; else if (write) Q <= D; else Q <= {Q[WIDTH-2:0], 1'b0}; endmodule Думаю, так лучше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 7 ноября, 2021 Опубликовано 7 ноября, 2021 · Жалоба Лучше. Только код лучше вставлять не как простой текст, а как код. В панели инструментов для этого есть кнопка "<>". Осталось сделать последний шаг: 23.10.2021 в 15:06, andrew_b сказал: 23.10.2021 в 13:48, Sanyochek21 сказал: То есть как только лог 1 появилась на старшем разряде работа регистра должна прекратиться. Как тогда необходимо записать код? Так и пишете: если в старшем разряде ноль, делаем сдвиг. Сейчас у вас сдвиг происходит всегда. Нужно его ограничить этим условием. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться