Open Shuregg opened 5 months ago
Либо вы можете сообщить где конкретно следует исправить, я поправлю и сделаю pr (предполагаю, что нужно инвертировать в самом модуле crc):
module crc8
(
...
);
always_ff @(posedge clk_i)
begin
if (~rst_i) begin // Сигнал сброса - обнуляем все регистры
state_ff <= IDLE;
data_current_ff <= 8'b0;
crc_ff <= 8'b0;
crc_counter_ff <= 4'd0;
end
else begin
...
По спецификации, сброс в APB имеет активный уровень "0", соответственно, тут требуется правильно формировать сигнал в тестбенче и правильно его назвать p_rstn_i
, далее распространить эти правки на весь код примеров и на методичку. Это какой-то объём работ, вы можете его сделать в PR и получить баллы
Добрый день, отправил PR
Добрый день! Если следовать примерам из лабораторной работы, выходит, что модуль вычислителя находится в сбросе во время симуляции: В тестовом окружении в initial блоке сброса сигнал
p_rst_i
изначально выставляется в высокий уровень и, спустя 200 нс, в низкий.В в порты подключаемого wrapper'а этот сигнал подаётся без инверсии,
а в самом wrapper'е при подключении crc8 появляется инверсия.
Внутри модуля CRC сброс осуществляется по высокому уровню соответствующего сигнала
Вся эта цепочка сигнала
p_rst_i
приводит к тому, что после 200нсp_rst_i = 0
, а в модуле crc8rst_i
будет равен1
на протяжении всей последующей симуляции (как указал ранее, crc8 сбрасывается по высокому уровню). Не стал делать pr, оставлю место корректировки сигнала на ваше усмотрение.