Size: a a a

Maxwell's Demons

2021 February 15

GK

Grigorii Kuzmin in Maxwell's Demons
были классные статьи за авторством Дениса Шехалева (или Шехалёва, не уверен)
источник

TK

Timur Khasanshin in Maxwell's Demons
ааа епт
источник

K

Kirill in Maxwell's Demons
Kirill
Кстати, всё таки не помогло. Оно просто создало задержку небольшую. На более быстром коде баг вернулся =)
Кароче кек. В даташите всё описано:

The adapter registers and FIFO use the APB2 bus clock domain (PCLK2). The control unit,
command path and data path use the SDIO adapter clock domain (SDIOCLK).


Т.е. оно регистры дрочит используя PCLK2. А блок SDIO внутри работает на SDIOCLK. В итоге они рассинхронизированы и получается лажа, в виде лага между записью в регистр и его фактическим обновлением.
Никакой DSB не поможет.

Если после каждой записи вставить кол-во нопов по формуле:
count_of_nops = PCLK2 / SDIOCLK

То начинает корректно работать на любой частоте APB2.

Шото они этот AMBA PL180 сбоку как-то прикостылили.
источник

TK

Timur Khasanshin in Maxwell's Demons
уже минут 30 не могу понять почему в симуляции на выходе out одни нули
источник

TK

Timur Khasanshin in Maxwell's Demons
источник

TK

Timur Khasanshin in Maxwell's Demons
подскажите пожалуйста в чем косяк
источник

TK

Timur Khasanshin in Maxwell's Demons
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Timur Khasanshin
уже минут 30 не могу понять почему в симуляции на выходе out одни нули
Варнинги синтезатора есть?
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Не оч понятно, почему у тебя сигнал называется нрст, а по факту он рст
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Ну и ресет в тестбенче лучше всё-таки подать в начале
источник

GK

Grigorii Kuzmin in Maxwell's Demons
А ещё у тебя входные сигналы объявлены, но не определены в самом модуле
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Не уверен, что это не работает, но для уверенности лучше написать input logic
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Ну и если ты пишешь logic, то не надо использовать wire
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Либо везде reg/wire, либо везде logic
источник

TK

Timur Khasanshin in Maxwell's Demons
я не синтезировал ртл, только компилил в моделсим
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Timur Khasanshin
я не синтезировал ртл, только компилил в моделсим
Там нет варнингов?
источник

TK

Timur Khasanshin in Maxwell's Demons
нет
источник

GK

Grigorii Kuzmin in Maxwell's Demons
Ну попробуй вот это изменить всё, что я выше написал
источник

TK

Timur Khasanshin in Maxwell's Demons
я сделал внутри модуля
module Quadgen (input clk, quadA, quadB, nrst, output count);
input logic clk, quadA, quadB, nrst;
output logic [7:0] count;

и теперь пишет ошибка компиляции
источник

TK

Timur Khasanshin in Maxwell's Demons
аа
источник