Просто скажите, что вы автоматически генерировали некоторый код долота для некоторой инфраструктуры в вашем чипе.Один файл, в котором создается загрузка регистров, сопоставленных с памятью, и затем присваивается ввод-вывод.
Затем, скажем, однажды вы добавляете дополнительный регистр, и JVM срывается и больше не хочет его строить из-за aribtrary 64kпредельный размер метода в JVM:
[error] Could not write class HasRegsModuleContents because it exceeds JVM code size limits. Method scala/Some's code too large!
[error] one error found
[error] (chipBlocks / Compile / compileIncremental) Compilation failed
[error] Total time: 41 s, completed 27/11/2018 2:32:29 AM
Внутри HasRegsModuleContents - это объявление группы регистров, а затем большой оператор regmap с группой объявлений регистров для чипа.После этого выполняется присвоение или из порта io модуля.
Это работало очень хорошо для нас, но теперь кажется maxxed out, что довольно раздражает.
Кто-нибудь сталкивался с этим раньше?Это будет работа, чтобы разбить это на несколько блоков регистров (и больше аппаратных средств, имеющих теперь несколько шинных интерфейсов на pbus), поэтому буду признателен, если кто-нибудь знает способ обойти это.