*** Очевидно, что для реальной работы с памятью внутри ПЛИС использование таких самописных модулей конечно не требуется - для этого там уже есть встроенные более оптимальные и удобные инструменты, которые называются регистры - например, чтобы объявить переменную Verilog, которая будет уметь запоминать любое значение, достаточно объявить ее с ключевым словом "reg". Но после выполнения данной лабоработорной работы становится понятно, какие механизмы могут лежать в основе этих абстракций. ***
Тут правда следует четко понимать, что reg не всегда превращается в D-flip-flop при синтезе - от может и быть optimized away (превратиться в провод), и стать D-flip-flop-ом, и стать latch-ем (хотя их синтез не любит), и вообще infer другой примитив - synthesis tool делает pattern matching и умеет превращать например модуль с особым использованием массива регистров (register file) в примитив памяти.
Comments 4
Тут правда следует четко понимать, что reg не всегда превращается в D-flip-flop при синтезе - от может и быть optimized away (превратиться в провод), и стать D-flip-flop-ом, и стать latch-ем (хотя их синтез не любит), и вообще infer другой примитив - synthesis tool делает pattern matching и умеет превращать например модуль с особым использованием массива регистров (register file) в примитив памяти.
Reply
Reply
Reply
Reply
Leave a comment