У нас сложная конструкция, и мы иногда забываем инициализировать сигнал. Зубило присваивает случайное значение. Но это затрудняет обратную трассировку от точки, в которой обнаружена ошибка, до источника. Есть предупреждения о неинициализированных сигналах, но это бесполезно по той причине, что есть много сигналов, которые мы намеренно оставляем неинициализированными, потому что они не распространяются. Только в очень немногих случаях, например, для "действительных" сигналов, неинициализированный сигнал распространяется и вызывает проблемы. Идеальным было бы то, что делает verilog, для которого установлено значение «x», что позволяет легко проследить его в обратном направлении. Есть ли относительно безболезненный способ найти такие случаи с неинициализированными сигналами, вызывающими проблемы?
Как отследить неинициализированный сигнал в Chisel?
Ответы (1)
В Chisel 3 мы в настоящее время находимся в процессе добавления безопасности для неподключенных сигналов: https://github.com/ucb-bar/chisel3/issues/413. Я не уверен, каков будет результат, но наша цель - предотвратить именно те проблемы, которые здесь упомянуты.
person
Jack Koenig
schedule
09.01.2017
Жду обновления. Спасибо, что сообщили мне, что над этим работают.
- person seanhalle; 25.01.2017