Wypowiedzi
-
pracowalem kiedys z kodem napisanym w ten sposob. Jak dla mnie jest bardzo nieczytelny, byc moze to kwestia przyzwyczajenia. W kazdym razie dodajac nowa funkcjonalnosc kilka razy sie wylozylem zanim napisalem to poprawnie.
Ograniczenie do dwoch procesow (synchroniczny i async) per architecture jest dosc sztuczne i ograniczajace.
Jeden proces synchroniczny oznacza ten sam reset dla wszystkich rejestrow. A co jesli koniecznosci optymalizacji wymaga uzycia roznych resetow (np DSP48 reset tylko synchroniczny). Jesli rejestr nie potrzebuje resetu lepiej go nie dodawac wogole bo przy duzej zajetosci kosci > 95% i bardzo szybkich zegarach (200-300 MHz) duzy fan-out na resecie spowoduje skew/duze opoznienia routingu ktore moga byc do usuniecia tylko przez logic replication.
Zastanawiam sie tez czy zadziala dodawanie roznych dyrektyw do syntezy typu synthesis direct enable na rejestrze ktory jest polem w recordzie.
Oraz jak wpasowac w te dwa procesy potrzebe uzycia konstrukcji generate.