Repository navigation
Releases: ART3121/lace
Release list
Lace 0.6.0
0.6.0 (2026-10-09)
- Placas FPGA (docs/FPGA.md): o Lace
conhece a Terasic DE2-115 (Cyclone IV E EP4CE115F29C7) e a DE10-Nano
(Cyclone V 5CSEBA6U23I7), com os pinos tirados dos manuais da Terasic. O
fpga.json, ao lado do.spf, diz a placa e liga as portas do topo aos
sinais dela ("rst": "!KEY[0]","out[7:0]": "LEDR[7:0]"), e o Lace gera
o topo da placa, que inverte, corta e completa larguras.lace fpga boardsmostra as placas e os pinos;lace fpga checkconfere o
fpga.jsoncontra a placa e as portas do topo, com todos os problemas de
uma vez. - O Quartus Prime, que compila para as placas Intel, é a segunda exceção à
regra do bundle:--quartus <DIR>(ouLACE_QUARTUS), senão
QUARTUS_ROOTDIR, senão as pastas padrão do instalador.lace tools
mostra o que achou; no JSON,quartus, e a ferramentaquartus. lace fpga buildcompila os processadores e depois o projeto para a
placa pelo Quartus, sem abrir a interface: grava o projeto do Quartus em
.lace/fpga/<placa>/e rodaquartus_map,quartus_fit,quartus_asme
quartus_sta, os passossynthesize,fit,bitstreametiming. O
resultado traz os erros e avisos do Quartus com arquivo, linha e número da
mensagem, o.sof(mais o.rbfe o.svfsem compressão, para o
openFPGALoader), os recursos da FPGA e a Fmax e as folgas de cada clock.
No JSON,fpga-build.lace fpga programgrava na placa o.sofda última compilação pelo
Quartus Programmer (quartus_pgm), pelo primeiro cabo ligado ou pelo de
--cable;--listmostra os cabos. No JSON,fpga-programe
fpga-cables. Os dois comandos foram conferidos com o Quartus Prime 25.1
Lite e uma DE2-115.- A segurança da placa (docs/FPGA.md, "Segurança da placa"):
depois do Fitter, o Lace confere no.pincada pino, direção e padrão de
I/O contra a placa e reprova a compilação antes do.sofse algum ficou
fora do lugar; os pinos sem uso ficam escritos no.qsfcomo entrada em
alta impedância; e a gravação recusa (stale_bitstream) um.sofque
não descreve o projeto de agora, comparando pelo conteúdo os fontes, as
memórias dos processadores, ofpga.jsone a definição da placa
(lace-build.json). Os pinos das duas placas foram conferidos também com
o.qsfda Terasic, um a um, e a DE10-Nano ganhou os LEDs 6 e 7, que vêm
dele. - O componente opcional
openfpgaloader, com o openFPGALoader do OSS CAD
Suite nas três plataformas, para gravar as placas pelo cabo USB. No JSON,
a ferramenta se chamaopenfpgaloader. - Lace Studio: a aba Placa FPGA, com as ligações, a compilação e a
gravação, e o console Placa (os detalhes estão emstudio/CHANGELOG.md). - O Lace passa a ter licença: MIT (LICENSE).
- O OSS CAD Suite 2026-09-29 não traz o
nextpnr-mistral(Cyclone V) em
nenhuma plataforma, e o fluxo aberto para a DE10-Nano ficou para depois
do Quartus.
Arquivos
9719071a1b07bceb81a0711d3e7812eca963be20be1631b8e8522803bff38db6 lace-0.6.0-darwin-arm64-c01.tar.zst
807fc13871e0d51afeb0ea3ae4a5ff5b1ee3128a19e74bb3c616deacd01333c3 lace-0.6.0-darwin-arm64-c02.tar.zst
8c10db53ef45810556b954972d4ad439415dcd13f2d3100543a158b78a0589b9 lace-0.6.0-darwin-arm64-c03.tar.zst
14ecc4c87d80e1c904f024efe2cf3548356bd80c0b99a89a4dd05a95970d4b7b lace-0.6.0-darwin-arm64-c04.tar.zst
774a518535bbe38b512ebebf0a35a6a51b165a58a81f80de52b866d880b76ae3 lace-0.6.0-darwin-arm64-c05.tar.zst
0445f74785fb16d16d28209624a22c911ce987399e2bb47cff41170f65daead0 lace-0.6.0-darwin-arm64-c06.tar.zst
8009876e14e30d181dd0643ea67b42cf141d40291f9c1f5396ff046c8f8dc3e5 lace-0.6.0-darwin-arm64-c07.tar.zst
88819db7049d76d7d8fc24220428b66cb0d2f27964863a43a0d8556a7d091f54 lace-0.6.0-darwin-arm64-c08.tar.zst
ad6091e0b2d525884ec19b625a7629ee13af073412e69c21583b82082559cdca lace-0.6.0-darwin-arm64-c09.tar.zst
0c834f24050bdeee2aa24fa296d67ef468769a9d735efa7f31629ce87a63e344 lace-0.6.0-darwin-arm64-c10.tar.zst
22c4adc4a7503d6e9cdd2c4fed81e531fed4dc79916bc8cd15de0f7d61c773ad lace-0.6.0-darwin-arm64-c11.tar.zst
9be7aa9eb11124f57c1846dcc8dff2f0cb96e8fac773423f79a41fb89c681e06 lace-0.6.0-darwin-arm64-c12.tar.zst
448ef81e65d4a7fb1afb2eb9c927545bdd91357a454d8616edbe410b56d266cc lace-0.6.0-darwin-arm64-c13.tar.zst
9c75170a7a408946625acd8c95f428d51bbf722c3e41ac4eb08ec629f0589610 lace-0.6.0-darwin-arm64-c14.tar.zst
989bf796f05c50833f38c5b0bc8ef61ba33ea578e34ef276ed7177640532802c lace-0.6.0-darwin-arm64-c15.tar.zst
0de7fb4c97ef7889d404e8e4b0f053acdf9913122f9467c281d48cbb269e094d lace-0.6.0-darwin-arm64-c16.tar.zst
0dc49a40541e6cfda39b612db0689ab33b5b09331067a464f7e9d70398f9c46b lace-0.6.0-darwin-arm64-c17.tar.zst
ae34d9c771430a1424292a8c34edc0e61c37b2a75d11552575a9dfac13907b50 lace-0.6.0-darwin-arm64-index.json
ee3e24f5d960148ab54d59fdb48158c9301c5230a01811a38752a1c9a76409ed lace-0.6.0-darwin-arm64-lace.tar.zst
275abfa7077aa2cd766d7a30670c3c42b3712c3b1292423fee457e2090446d89 lace-0.6.0-darwin-arm64.tar.gz
714ded612bc63966fb3dcf59acee714de6f006a7214ca4f11966880297d68a3b lace-0.6.0-linux-x64-c01.tar.zst
744956a0d4b2fd26320bd79c516e12bc432b19c074741b787b911c2b0a347faf lace-0.6.0-linux-x64-c02.tar.zst
66b83e68c5182a107e8060b809ef80a171a55e6762478ce5b7db8c91d9461bf6 lace-0.6.0-linux-x64-c03.tar.zst
68304845a82e78fe0eada5141883d50b6e62cf7a3eec367176bf0cb8a22b3449 lace-0.6.0-linux-x64-c04.tar.zst
6681fc96521f681d591d272d0f4c73daf19fa6d70b611413cc96cff1cb4f0364 lace-0.6.0-linux-x64-c05.tar.zst
fdc6e8d7bb460217d883385b2d7b85c823ab7042bf128149eb82f6f32a0a34bc lace-0.6.0-linux-x64-c06.tar.zst
254f21f2496060e9f8d4bd001fc570b0cd73283edaa89d6be83fa2e580a7cacd lace-0.6.0-linux-x64-c07.tar.zst
ee274bb583ea1258b0f4f629c4d4d6842d65a2354d1c4ce6be5688267ad7e245 lace-0.6.0-linux-x64-c08.tar.zst
e0d31eb8102847d40817a503468e665c081ba46406df832cd3399d830e740aaf lace-0.6.0-linux-x64-c09.tar.zst
6453b5cb7573b1cc3d40308ee11fe5251c8e1041dc8f587530f058d639220472 lace-0.6.0-linux-x64-c10.tar.zst
6a0cdcb31a8ab80e0a95c35fdb5667fb37b9917a352957d1486615adfa9f5a69 lace-0.6.0-linux-x64-c11.tar.zst
dcfb2ba091f239548d206b58c2c5c50883175253fff401b9a11f0a75d9e36486 lace-0.6.0-linux-x64-c12.tar.zst
82660bb13a768f4a6d42c8e5aec59dcc416e48bc4d9fb74fcf9a8289b0cb6c77 lace-0.6.0-linux-x64-c13.tar.zst
6354ea3eda2ebb0eaa73c2793f541482e356d527eaee743deb4dfb8302684f1b lace-0.6.0-linux-x64-c14.tar.zst
857513a3eed9e573d43718dfd45d7e4e837b70b8a870dcf168d924f4b6e98ec7 lace-0.6.0-linux-x64-c15.tar.zst
964197fc842d8903697e1f4fa22147a379b0bf06b118e4073fecc9149276681b lace-0.6.0-linux-x64-c16.tar.zst
0dc49a40541e6cfda39b612db0689ab33b5b09331067a464f7e9d70398f9c46b lace-0.6.0-linux-x64-c17.tar.zst
b2b451d38f50dce5e96e7a34bb1f03a87b458f008d03833dcc9bfc55687729fe lace-0.6.0-linux-x64-index.json
368db4714b5a7d79b32b323ef77b385c1b8ca4e56b4e968efad2d0edd18467bb lace-0.6.0-linux-x64-lace.tar.zst
675cd0c61959ef24a9f34ba8e291749850373a43663408f70fe35a5844bb9f79 lace-0.6.0-linux-x64.tar.gz
27900c9a98d742b683226ca0a5ff659e840e1796c7dbfbf0ea61fa524ae7bf6f lace-0.6.0-windows-x64-c01.tar.zst
1facf9bfbf8c3702de84ac26313c54ac8786626082934003720f947c822ec95b lace-0.6.0-windows-x64-c02.tar.zst
8865d3f5e647f7d35bfce1c90b8c8b96ee8e831e1fc12b0969cacf7558f8cf78 lace-0.6.0-windows-x64-c03.tar.zst
e45e6ee13cf2bf23bae52b76a65a6902ae10f84e666159c95b62978fc923f047 lace-0.6.0-windows-x64-c04.tar.zst
930a479cc7895c4a3b37bebbb9db611daf49678c8db659dcb34ad265b47f1cb1 lace-0.6.0-windows-x64-c05.tar.zst
f95881f8b0dcbc8b16498d3ba68f0795bbd6973c76d8aae51a4fe1a810d25ed0 lace-0.6.0-windows-x64-c06.tar.zst
22cbac54deeabaa94a05f2984289a24e3d3830a98951abec74ec24a48bdc8cbd lace-0.6.0-windows-x64-c07.tar.zst
e65c55f0d93f4da20fe55fcac15d42f0869b179d2fafb45c7393589e8c3b7a14 lace-0.6.0-windows-x64-c08.tar.zst
3a15e60ccd035284b6b9d63f7f4a2fe2dffe0e0932755956ab80daf5c8fe48e1 lace-0.6.0-windows-x64-c09.tar.zst
49869157197b0292c6432d8023b7df8c17de45d1f6eb3b5c991db2ccdd5fcb32 lace-0.6.0-windows-x64-c10.tar.zst
e352e830996c7723468f589ee12c98e8ea22882a9e6e7bffa8d40010f473957f lace-0.6.0-windows-x64-c11.tar.zst
caac6b5a1c59e99380e3904d70e68cba3c7a3dd1aa09c455707fc902020be5bf lace-0.6.0-windows-x64-c12.tar.zst
3a538b3ff5d6290922be59d8adcec72ad61afb1b0be728b8ea70958cdf91188e lace-0.6.0-windows-x64-c13.tar.zst
870e4564209d6cf70dfd4daa7b494e2d6247d73d7e5874d0df731b3ec45c92b5 lace-0.6.0-windows-x64-c14.tar.zst
aff4b4fe141e2f6ea9336d3d5eee11a9aaefcd16d73c7a6f8eedb75ea12b3a70 lace-0.6.0-windows-x64-index.json
ba5eac90023219a75c9eabd87ea21423d0053d65f8588bd31aa9366943ecf68b lace-0.6.0-windows-x64-lace.tar.zst
c0f4e1aebed0ce3f7b496680367da527b7adc4a379e2367d01e1a14a6c0f6f99 lace-0.6.0-windows-x64-setup.exe
Lace 0.5.0
0.5.0 (2026-10-08)
lace learn: exercícios de Verilog no estilo do rustlings
(docs/LEARN.md).lace learn initcria a pasta de
exercícios, um projeto Lace por exercício, elace learnentra no modo
watch: a cada gravação, o Lace roda ochecke a simulação no Icarus e
compara cada saída do módulo do aluno com a de uma solução de referência,
amostra a amostra. A correção diz em quantas amostras cada saída errou, o
instante do primeiro erro e, quando dá, a causa (porta renomeada, saída
sem atribuição, reset que só erra quando ativo), e a onda abre com as
saídas ao lado das da referência e o primeiro erro marcado. Os
subcomandoscheck,list,hint,reset,waveedev checktêm
--json. A primeira trilha,verilog, tem 25 exercícios, de primeiros
passos a hierarquia, e vem no componente opcionallace-learn, que os
instaladores oferecem na instalação Advanced (no Windows, embaixo do
Icarus) e olace install lace-learnacrescenta depois. O código é o
crate novolace-learn, que o Studio também usa.- Lace Studio: a vista Exercícios, a aba do enunciado e a correção a cada
gravação (os detalhes estão emstudio/CHANGELOG.md).
Arquivos
9719071a1b07bceb81a0711d3e7812eca963be20be1631b8e8522803bff38db6 lace-0.5.0-darwin-arm64-c01.tar.zst
807fc13871e0d51afeb0ea3ae4a5ff5b1ee3128a19e74bb3c616deacd01333c3 lace-0.5.0-darwin-arm64-c02.tar.zst
8c10db53ef45810556b954972d4ad439415dcd13f2d3100543a158b78a0589b9 lace-0.5.0-darwin-arm64-c03.tar.zst
14ecc4c87d80e1c904f024efe2cf3548356bd80c0b99a89a4dd05a95970d4b7b lace-0.5.0-darwin-arm64-c04.tar.zst
774a518535bbe38b512ebebf0a35a6a51b165a58a81f80de52b866d880b76ae3 lace-0.5.0-darwin-arm64-c05.tar.zst
0445f74785fb16d16d28209624a22c911ce987399e2bb47cff41170f65daead0 lace-0.5.0-darwin-arm64-c06.tar.zst
8009876e14e30d181dd0643ea67b42cf141d40291f9c1f5396ff046c8f8dc3e5 lace-0.5.0-darwin-arm64-c07.tar.zst
88819db7049d76d7d8fc24220428b66cb0d2f27964863a43a0d8556a7d091f54 lace-0.5.0-darwin-arm64-c08.tar.zst
ad6091e0b2d525884ec19b625a7629ee13af073412e69c21583b82082559cdca lace-0.5.0-darwin-arm64-c09.tar.zst
0c834f24050bdeee2aa24fa296d67ef468769a9d735efa7f31629ce87a63e344 lace-0.5.0-darwin-arm64-c10.tar.zst
22c4adc4a7503d6e9cdd2c4fed81e531fed4dc79916bc8cd15de0f7d61c773ad lace-0.5.0-darwin-arm64-c11.tar.zst
9be7aa9eb11124f57c1846dcc8dff2f0cb96e8fac773423f79a41fb89c681e06 lace-0.5.0-darwin-arm64-c12.tar.zst
448ef81e65d4a7fb1afb2eb9c927545bdd91357a454d8616edbe410b56d266cc lace-0.5.0-darwin-arm64-c13.tar.zst
9c75170a7a408946625acd8c95f428d51bbf722c3e41ac4eb08ec629f0589610 lace-0.5.0-darwin-arm64-c14.tar.zst
b2942cd4c66064d8d4931e0853c774504e29f30c595e7d9e7bfec1bb4a3e528c lace-0.5.0-darwin-arm64-c15.tar.zst
7d1d8b25b82ce7b3c49d83358a701273cbffa1cd1e80f3a3b6ee6b9587f4eca0 lace-0.5.0-darwin-arm64-c16.tar.zst
04e605a88e5ad84dc815993fc3ac93bf5943aba8615c3bbb987d2b3c027ce6a5 lace-0.5.0-darwin-arm64-index.json
1812c8f5ae26f60a14d9849fb28ad4c1ae716de999f9f959d4cd63045ada94b0 lace-0.5.0-darwin-arm64-lace.tar.zst
e827ddcaa26f84fdf0bc3c7b4d944c5db6e3f7eccf46aff5f5bed0e0404d1c89 lace-0.5.0-darwin-arm64.tar.gz
714ded612bc63966fb3dcf59acee714de6f006a7214ca4f11966880297d68a3b lace-0.5.0-linux-x64-c01.tar.zst
744956a0d4b2fd26320bd79c516e12bc432b19c074741b787b911c2b0a347faf lace-0.5.0-linux-x64-c02.tar.zst
68304845a82e78fe0eada5141883d50b6e62cf7a3eec367176bf0cb8a22b3449 lace-0.5.0-linux-x64-c03.tar.zst
6681fc96521f681d591d272d0f4c73daf19fa6d70b611413cc96cff1cb4f0364 lace-0.5.0-linux-x64-c04.tar.zst
66b83e68c5182a107e8060b809ef80a171a55e6762478ce5b7db8c91d9461bf6 lace-0.5.0-linux-x64-c05.tar.zst
fdc6e8d7bb460217d883385b2d7b85c823ab7042bf128149eb82f6f32a0a34bc lace-0.5.0-linux-x64-c06.tar.zst
254f21f2496060e9f8d4bd001fc570b0cd73283edaa89d6be83fa2e580a7cacd lace-0.5.0-linux-x64-c07.tar.zst
ee274bb583ea1258b0f4f629c4d4d6842d65a2354d1c4ce6be5688267ad7e245 lace-0.5.0-linux-x64-c08.tar.zst
e0d31eb8102847d40817a503468e665c081ba46406df832cd3399d830e740aaf lace-0.5.0-linux-x64-c09.tar.zst
6453b5cb7573b1cc3d40308ee11fe5251c8e1041dc8f587530f058d639220472 lace-0.5.0-linux-x64-c10.tar.zst
6a0cdcb31a8ab80e0a95c35fdb5667fb37b9917a352957d1486615adfa9f5a69 lace-0.5.0-linux-x64-c11.tar.zst
dcfb2ba091f239548d206b58c2c5c50883175253fff401b9a11f0a75d9e36486 lace-0.5.0-linux-x64-c12.tar.zst
82660bb13a768f4a6d42c8e5aec59dcc416e48bc4d9fb74fcf9a8289b0cb6c77 lace-0.5.0-linux-x64-c13.tar.zst
6354ea3eda2ebb0eaa73c2793f541482e356d527eaee743deb4dfb8302684f1b lace-0.5.0-linux-x64-c14.tar.zst
2953dea3a04d588aec2b00c3b21befd401a6af1b6613ad44e076a7838e67a410 lace-0.5.0-linux-x64-c15.tar.zst
7d1d8b25b82ce7b3c49d83358a701273cbffa1cd1e80f3a3b6ee6b9587f4eca0 lace-0.5.0-linux-x64-c16.tar.zst
98eb7803cc1d52c43a7acb68685602c7c895a295e4f2daede4c523e880053aaa lace-0.5.0-linux-x64-index.json
a6e73cf80b8b9538e4f611fd63c367f0af3a1a7a6809748200787950951483ec lace-0.5.0-linux-x64-lace.tar.zst
633a23ce147317a1231e6b51fa7bd086b85f9095021b903b40331939f5b4d5a6 lace-0.5.0-linux-x64.tar.gz
27900c9a98d742b683226ca0a5ff659e840e1796c7dbfbf0ea61fa524ae7bf6f lace-0.5.0-windows-x64-c01.tar.zst
1facf9bfbf8c3702de84ac26313c54ac8786626082934003720f947c822ec95b lace-0.5.0-windows-x64-c02.tar.zst
8865d3f5e647f7d35bfce1c90b8c8b96ee8e831e1fc12b0969cacf7558f8cf78 lace-0.5.0-windows-x64-c03.tar.zst
8c40ed8beaf07d09f4b7014e6e1b2c3f488851711cdd15a4ddff37c295d74e93 lace-0.5.0-windows-x64-c04.tar.zst
f95881f8b0dcbc8b16498d3ba68f0795bbd6973c76d8aae51a4fe1a810d25ed0 lace-0.5.0-windows-x64-c05.tar.zst
22cbac54deeabaa94a05f2984289a24e3d3830a98951abec74ec24a48bdc8cbd lace-0.5.0-windows-x64-c06.tar.zst
e65c55f0d93f4da20fe55fcac15d42f0869b179d2fafb45c7393589e8c3b7a14 lace-0.5.0-windows-x64-c07.tar.zst
367a44681d5f8561cb10e239ed3322b41ddfe54545b5d91ec24e51e9a372889c lace-0.5.0-windows-x64-c08.tar.zst
49869157197b0292c6432d8023b7df8c17de45d1f6eb3b5c991db2ccdd5fcb32 lace-0.5.0-windows-x64-c09.tar.zst
e352e830996c7723468f589ee12c98e8ea22882a9e6e7bffa8d40010f473957f lace-0.5.0-windows-x64-c10.tar.zst
2a780f83c655a109362fdbc1359202287dc9b3d6297c0a1066d73967d0215b66 lace-0.5.0-windows-x64-c11.tar.zst
95ca7294d01aac812b94858c2a81762c9338a084c8ebdaf88fc534b5de99128e lace-0.5.0-windows-x64-c12.tar.zst
8dfcfbc6405ff1f36181e70378ea2a1406f9bff54be7fa364f3599f328fcd489 lace-0.5.0-windows-x64-index.json
68f74e269afa09db23db5345aa35f32b907c4295f21e439edc25443b44af51e8 lace-0.5.0-windows-x64-lace.tar.zst
2a3ab42715142702a7774002160e3fb0b4931acd5a6b54cca6414f61cdc65432 lace-0.5.0-windows-x64-setup.exe
Lace 0.4.0
0.4.0 (2026-10-07)
- Simulação rápida, o Fast Sim da AURORA:
lace sim --fastroda sem gravar
onda, para ver a saída do testbench, as saídas do processador e os testes
cocotb na velocidade do simulador. O testbench Verilog, do projeto ou de um
processador (-p), roda no Verilator compilado sem--trace, num
obj_dir_fast_<topo>à parte, e o Verilator ignora os$dumpfilee
$dumpvarsdele; um testbench cocotb roda os testes sem a onda, no Icarus
(vvp -none) ou, com--verilator, no Verilator. No JSON, a simulação
trazfast; na API,SimulationOptions::fasteSimulationResult::fast. - O cocotb também roda no Verilator:
lace sim --verilatorcom um testbench
.pycompila o design com omaine a VPI do cocotb e grava a onda em
<módulo de teste>.vcd.cocotb_needs_icarusdeixou de existir; um
cocotb sem a biblioteca do simulador dácocotb_unavailable. Testado no
Windows; no Linux e no macOS, não. - YANC 6.0 no bundle (era a 5.6; a 5.7 ficou no meio). Pelo CHANGELOG dele:
DIV,MODeF_DIVlevam três ciclos, e cada divisão vira
<divisão> x; NOP; <leitura>, com as leituras novasQUO,REMe
F_QUO(o Fmax dosapho_allfoi de 9,43 para 21,9 MHz na DE10-Nano); o
asmcomprecusa um.asmescrito à mão com divisão sem essa sequência.
O código que nenhum caminho alcança sai do programa e do hardware, a pilha
sem#NDSTAC/#SDEPTHfica com a profundidade que o programa usa, e
recursão em C± é erro. No Studio, o assembly conhece as três leituras. - Windows: o Verilator reaproveita o modelo em dia. Ele anotava o
verilator_binsem.exeentre as entradas do modelo, não reconhecia
nada como em dia, gerava o C++ de novo e recompilava tudo a cada simulação,
a biblioteca dele junto; agora, com o design igual, a compilação leva
menos de 1 s (num contador, 9 s antes). Sai também o "o sistema não pode
encontrar o caminho especificado" que o script dele escrevia a cada
chamada, e os avisos do g++ sobre a biblioteca do próprio Verilator viram
informação. - Lace Studio (os detalhes estão em
studio/CHANGELOG.md):- o PRISM (F10) desenha o esquemático no próprio Studio, a partir do
netlist da síntese, com as cores do tema, a hierarquia, a busca e o
destaque das redes; a CLI continua com o Graphviz (lace synth --svg); - a Rápida (F9) é a simulação rápida, e o item do Explorador que marca o
testbench só marca, sem simular; - layout da janela: cada vista vai para qualquer região, há uma barra
lateral direita, e os layouts com nome guardam a janela inteira; - barra de título integrada, com os menus, o nome do projeto e os botões
da janela numa faixa só; - as Preferências têm uma página por assunto, e o tema Atlas passou ao
azul do ATLAS.
- o PRISM (F10) desenha o esquemático no próprio Studio, a partir do
Arquivos
9719071a1b07bceb81a0711d3e7812eca963be20be1631b8e8522803bff38db6 lace-0.4.0-darwin-arm64-c01.tar.zst
807fc13871e0d51afeb0ea3ae4a5ff5b1ee3128a19e74bb3c616deacd01333c3 lace-0.4.0-darwin-arm64-c02.tar.zst
8c10db53ef45810556b954972d4ad439415dcd13f2d3100543a158b78a0589b9 lace-0.4.0-darwin-arm64-c03.tar.zst
14ecc4c87d80e1c904f024efe2cf3548356bd80c0b99a89a4dd05a95970d4b7b lace-0.4.0-darwin-arm64-c04.tar.zst
774a518535bbe38b512ebebf0a35a6a51b165a58a81f80de52b866d880b76ae3 lace-0.4.0-darwin-arm64-c05.tar.zst
0445f74785fb16d16d28209624a22c911ce987399e2bb47cff41170f65daead0 lace-0.4.0-darwin-arm64-c06.tar.zst
8009876e14e30d181dd0643ea67b42cf141d40291f9c1f5396ff046c8f8dc3e5 lace-0.4.0-darwin-arm64-c07.tar.zst
88819db7049d76d7d8fc24220428b66cb0d2f27964863a43a0d8556a7d091f54 lace-0.4.0-darwin-arm64-c08.tar.zst
ad6091e0b2d525884ec19b625a7629ee13af073412e69c21583b82082559cdca lace-0.4.0-darwin-arm64-c09.tar.zst
0c834f24050bdeee2aa24fa296d67ef468769a9d735efa7f31629ce87a63e344 lace-0.4.0-darwin-arm64-c10.tar.zst
22c4adc4a7503d6e9cdd2c4fed81e531fed4dc79916bc8cd15de0f7d61c773ad lace-0.4.0-darwin-arm64-c11.tar.zst
9be7aa9eb11124f57c1846dcc8dff2f0cb96e8fac773423f79a41fb89c681e06 lace-0.4.0-darwin-arm64-c12.tar.zst
448ef81e65d4a7fb1afb2eb9c927545bdd91357a454d8616edbe410b56d266cc lace-0.4.0-darwin-arm64-c13.tar.zst
9c75170a7a408946625acd8c95f428d51bbf722c3e41ac4eb08ec629f0589610 lace-0.4.0-darwin-arm64-c14.tar.zst
b50b1ead1ff813f92b3d2b0aa2ae75ea05647a0385c522bd776af88f495b3818 lace-0.4.0-darwin-arm64-c15.tar.zst
dcfe6d5a87d7c2e8afd97884cff73794539494d53c4b17ccdbcd54d57c1cd9ab lace-0.4.0-darwin-arm64-index.json
be7a7b31664515bf0011cc90cf79ca76733950cb2b85447e3864d09be2f16426 lace-0.4.0-darwin-arm64-lace.tar.zst
7850f607206a2f6a8976cc122dfb0098644576409d58e040b1101154b9eff532 lace-0.4.0-darwin-arm64.tar.gz
714ded612bc63966fb3dcf59acee714de6f006a7214ca4f11966880297d68a3b lace-0.4.0-linux-x64-c01.tar.zst
744956a0d4b2fd26320bd79c516e12bc432b19c074741b787b911c2b0a347faf lace-0.4.0-linux-x64-c02.tar.zst
68304845a82e78fe0eada5141883d50b6e62cf7a3eec367176bf0cb8a22b3449 lace-0.4.0-linux-x64-c03.tar.zst
6681fc96521f681d591d272d0f4c73daf19fa6d70b611413cc96cff1cb4f0364 lace-0.4.0-linux-x64-c04.tar.zst
66b83e68c5182a107e8060b809ef80a171a55e6762478ce5b7db8c91d9461bf6 lace-0.4.0-linux-x64-c05.tar.zst
fdc6e8d7bb460217d883385b2d7b85c823ab7042bf128149eb82f6f32a0a34bc lace-0.4.0-linux-x64-c06.tar.zst
254f21f2496060e9f8d4bd001fc570b0cd73283edaa89d6be83fa2e580a7cacd lace-0.4.0-linux-x64-c07.tar.zst
ee274bb583ea1258b0f4f629c4d4d6842d65a2354d1c4ce6be5688267ad7e245 lace-0.4.0-linux-x64-c08.tar.zst
e0d31eb8102847d40817a503468e665c081ba46406df832cd3399d830e740aaf lace-0.4.0-linux-x64-c09.tar.zst
6453b5cb7573b1cc3d40308ee11fe5251c8e1041dc8f587530f058d639220472 lace-0.4.0-linux-x64-c10.tar.zst
6a0cdcb31a8ab80e0a95c35fdb5667fb37b9917a352957d1486615adfa9f5a69 lace-0.4.0-linux-x64-c11.tar.zst
dcfb2ba091f239548d206b58c2c5c50883175253fff401b9a11f0a75d9e36486 lace-0.4.0-linux-x64-c12.tar.zst
82660bb13a768f4a6d42c8e5aec59dcc416e48bc4d9fb74fcf9a8289b0cb6c77 lace-0.4.0-linux-x64-c13.tar.zst
6354ea3eda2ebb0eaa73c2793f541482e356d527eaee743deb4dfb8302684f1b lace-0.4.0-linux-x64-c14.tar.zst
b8544e6c72d583374c278caae8c25284fb86dee95d898649ee6a9444c20f3cfb lace-0.4.0-linux-x64-c15.tar.zst
c2a5127b4a8611d02fed355f83d8c31075d0a2896477ea74a1caf4d69529998b lace-0.4.0-linux-x64-index.json
aa80c07699ee012ee63bb0b13595ecdd0dfc9169bec9be8a5f58eeccd86bb992 lace-0.4.0-linux-x64-lace.tar.zst
c36fbea30812972891f7e16d5fe7dbfd2bdba068ba03819d1f4018326fc2c8cc lace-0.4.0-linux-x64.tar.gz
27900c9a98d742b683226ca0a5ff659e840e1796c7dbfbf0ea61fa524ae7bf6f lace-0.4.0-windows-x64-c01.tar.zst
1facf9bfbf8c3702de84ac26313c54ac8786626082934003720f947c822ec95b lace-0.4.0-windows-x64-c02.tar.zst
8865d3f5e647f7d35bfce1c90b8c8b96ee8e831e1fc12b0969cacf7558f8cf78 lace-0.4.0-windows-x64-c03.tar.zst
bfc15c8c554a5114bc8e7b6b2133b33ae4cc0e9a3365e1cbddc7218c343faf95 lace-0.4.0-windows-x64-c04.tar.zst
f95881f8b0dcbc8b16498d3ba68f0795bbd6973c76d8aae51a4fe1a810d25ed0 lace-0.4.0-windows-x64-c05.tar.zst
22cbac54deeabaa94a05f2984289a24e3d3830a98951abec74ec24a48bdc8cbd lace-0.4.0-windows-x64-c06.tar.zst
e65c55f0d93f4da20fe55fcac15d42f0869b179d2fafb45c7393589e8c3b7a14 lace-0.4.0-windows-x64-c07.tar.zst
367a44681d5f8561cb10e239ed3322b41ddfe54545b5d91ec24e51e9a372889c lace-0.4.0-windows-x64-c08.tar.zst
49869157197b0292c6432d8023b7df8c17de45d1f6eb3b5c991db2ccdd5fcb32 lace-0.4.0-windows-x64-c09.tar.zst
e352e830996c7723468f589ee12c98e8ea22882a9e6e7bffa8d40010f473957f lace-0.4.0-windows-x64-c10.tar.zst
058c6307e5b18128abd850e063db3713b0ccea67569dff1f01a20ce89eba199a lace-0.4.0-windows-x64-c11.tar.zst
c4d32ca20cc81a4dffa94f2b96d4539cb2c0f38ed3ff650703939e08c05a062d lace-0.4.0-windows-x64-index.json
85b390a77b21a66cbeeea2c6c3e0feb03c145ebd71e8573b79de10c3bbe79758 lace-0.4.0-windows-x64-lace.tar.zst
f88f17faef57de204c441aff653f1e470a9b399ccfb4cb8e6a9af0db2d8a08e6 lace-0.4.0-windows-x64-setup.exe
Lace 0.3.0
0.3.0 (2026-10-06)
Windows:
- Nenhuma ferramenta abre janela de console: no Lace Studio, cada passo de
build, verificação, simulação e síntese abria uma, e fechá-la matava a
ferramenta. A saída continua nos consoles do Studio e no terminal. - As ferramentas não ficam mais órfãs. Cada passo roda num Job Object, e o
que a ferramenta iniciou termina com ela: ao cancelar, no fim do passo e
quando o Lace ou o Studio morrem, mesmo encerrados pelo Gerenciador de
Tarefas (antes, oiveriloge ovvpseguiam rodando). Quando o Lace tem
console, como num terminal, as ferramentas continuam nele, sem o custo de
um console novo por ferramenta (ProcessJobehide_consoleno
lace-core). lace updateabre o assistente da versão nova com os componentes
instalados marcados, inclusive os que olace installacrescentou, que
antes saíam na atualização. O assistente e o desinstalador abrem sem a
saída dolacee fora do job de quem o chamou: o Studio não fica mais
ocupado até o assistente fechar.- No Studio, cancelar um
lace installencerra também o download em
andamento, e "Novo arquivo" ou "Nova pasta" numa pasta que ainda não
existe (rtl/modulo.vnum projeto semrtl/) não dá mais "fora do
projeto".
Todos os sistemas:
- Um
includerelativo à pasta de quem o faz falhava nochecke nosim
no Windows (o Icarus recebia o caminho com\) e, em qualquer sistema, no
simde um testbench sem$dumpfile, cuja cópia com o dump injetado fica
em.lace/Temp. Os diagnósticos e a hierarquia trazem os caminhos com o
separador do sistema, iguais aos do projeto. - No Studio, um caminho com
..passando por uma pasta que não existe não
escapa mais da pasta do projeto. - Testbench em Python, com o cocotb: um
.pyentra no projeto como
testbench (lace add test_alu.py, criado a partir de um modelo se não
existe), elace simroda os testes no Icarus. Cada teste sai na saída da
CLI e emsimulation.testsno JSON; o que falha é um erro na linha do
.pye reprova a simulação, e a onda sai do mesmo jeito. O módulo testado
vem da linha# aurora-toplevel: <módulo>do.py, como na AURORA, ou do
topo do projeto. Com o Verilator o Lace recusa (cocotb_needs_icarus); o
checke ohierarchydeixam o.pyde fora. lace checknão compila mais os processadores: verifica o Verilog que
está no disco, como o nome diz. Um processador que nunca foi compilado fica
de fora, com um aviso; se não sobra nada para verificar, sai com
not_builte a dica de compilar. O JSON dochecknão tem mais
builds.- O esquemático não recusa mais um módulo com mais de 120 ligações
(schematic_too_largedeixou de existir); continua o prazo de 60 s do
dot.--no-schematic-limité aceito e ignorado. - A onda do Icarus sai sempre em FST, com a extensão
.fst: o
$dumpfile("<proc>_tb.vcd")do testbench que o YANC gera vira
<proc>_tb.fstnuma cópia do testbench, e o modelo dolace addgrava
.fst. O Verilator continua em VCD, agora sempre com a extensão.vcd
(antes, um$dumpfile("x.fst")gravava VCD emx.fst). O layout do
Surfer dos processadores SAPHO lê também o FST. - No Studio, o terminal acompanha o projeto aberto (o shell entra na pasta
do projeto novo), e a aba Lace saiu do painel inferior: a saída do
lace installe dolace updateaparece na tela de Ferramentas.
Arquivos
9719071a1b07bceb81a0711d3e7812eca963be20be1631b8e8522803bff38db6 lace-0.3.0-darwin-arm64-c01.tar.zst
807fc13871e0d51afeb0ea3ae4a5ff5b1ee3128a19e74bb3c616deacd01333c3 lace-0.3.0-darwin-arm64-c02.tar.zst
8c10db53ef45810556b954972d4ad439415dcd13f2d3100543a158b78a0589b9 lace-0.3.0-darwin-arm64-c03.tar.zst
14ecc4c87d80e1c904f024efe2cf3548356bd80c0b99a89a4dd05a95970d4b7b lace-0.3.0-darwin-arm64-c04.tar.zst
774a518535bbe38b512ebebf0a35a6a51b165a58a81f80de52b866d880b76ae3 lace-0.3.0-darwin-arm64-c05.tar.zst
0445f74785fb16d16d28209624a22c911ce987399e2bb47cff41170f65daead0 lace-0.3.0-darwin-arm64-c06.tar.zst
8009876e14e30d181dd0643ea67b42cf141d40291f9c1f5396ff046c8f8dc3e5 lace-0.3.0-darwin-arm64-c07.tar.zst
4c1861f0f2c2e63d72b3cad7040e7b80c1044af9e2574ce768a6f6a7e60f42c4 lace-0.3.0-darwin-arm64-c08.tar.zst
ad6091e0b2d525884ec19b625a7629ee13af073412e69c21583b82082559cdca lace-0.3.0-darwin-arm64-c09.tar.zst
0c834f24050bdeee2aa24fa296d67ef468769a9d735efa7f31629ce87a63e344 lace-0.3.0-darwin-arm64-c10.tar.zst
22c4adc4a7503d6e9cdd2c4fed81e531fed4dc79916bc8cd15de0f7d61c773ad lace-0.3.0-darwin-arm64-c11.tar.zst
9be7aa9eb11124f57c1846dcc8dff2f0cb96e8fac773423f79a41fb89c681e06 lace-0.3.0-darwin-arm64-c12.tar.zst
448ef81e65d4a7fb1afb2eb9c927545bdd91357a454d8616edbe410b56d266cc lace-0.3.0-darwin-arm64-c13.tar.zst
dfc685dc293d0977f906765dbe71064894af67210e43f5dca7eea09dd44259a6 lace-0.3.0-darwin-arm64-c14.tar.zst
58a293ff41b4481cca29b421bbad43da24bae02c8f73f24d5465d6690b586453 lace-0.3.0-darwin-arm64-c15.tar.zst
1f2ce92d20c1aa028a54af64b9a919a4e48c2e0d2dbe24267dcf8a5fd30fdb29 lace-0.3.0-darwin-arm64-index.json
a4d5036f878d96a88829fd5c599c38cb47f9aa017ee1adf36cf2f3f14cd8f066 lace-0.3.0-darwin-arm64-lace.tar.zst
836064ae91c827ee6321cd868c10424c03b08cf9f3c1844888ba06a094145caf lace-0.3.0-darwin-arm64.tar.gz
714ded612bc63966fb3dcf59acee714de6f006a7214ca4f11966880297d68a3b lace-0.3.0-linux-x64-c01.tar.zst
744956a0d4b2fd26320bd79c516e12bc432b19c074741b787b911c2b0a347faf lace-0.3.0-linux-x64-c02.tar.zst
68304845a82e78fe0eada5141883d50b6e62cf7a3eec367176bf0cb8a22b3449 lace-0.3.0-linux-x64-c03.tar.zst
6681fc96521f681d591d272d0f4c73daf19fa6d70b611413cc96cff1cb4f0364 lace-0.3.0-linux-x64-c04.tar.zst
66b83e68c5182a107e8060b809ef80a171a55e6762478ce5b7db8c91d9461bf6 lace-0.3.0-linux-x64-c05.tar.zst
fdc6e8d7bb460217d883385b2d7b85c823ab7042bf128149eb82f6f32a0a34bc lace-0.3.0-linux-x64-c06.tar.zst
254f21f2496060e9f8d4bd001fc570b0cd73283edaa89d6be83fa2e580a7cacd lace-0.3.0-linux-x64-c07.tar.zst
80bd5f68c878f8eeef2dd2ef057275ec3691c597218045c82e5e7f28d9899dce lace-0.3.0-linux-x64-c08.tar.zst
e0d31eb8102847d40817a503468e665c081ba46406df832cd3399d830e740aaf lace-0.3.0-linux-x64-c09.tar.zst
6453b5cb7573b1cc3d40308ee11fe5251c8e1041dc8f587530f058d639220472 lace-0.3.0-linux-x64-c10.tar.zst
6a0cdcb31a8ab80e0a95c35fdb5667fb37b9917a352957d1486615adfa9f5a69 lace-0.3.0-linux-x64-c11.tar.zst
dcfb2ba091f239548d206b58c2c5c50883175253fff401b9a11f0a75d9e36486 lace-0.3.0-linux-x64-c12.tar.zst
82660bb13a768f4a6d42c8e5aec59dcc416e48bc4d9fb74fcf9a8289b0cb6c77 lace-0.3.0-linux-x64-c13.tar.zst
6354ea3eda2ebb0eaa73c2793f541482e356d527eaee743deb4dfb8302684f1b lace-0.3.0-linux-x64-c14.tar.zst
57b66619836b246b682485df02d487e3ae002350b7b4a324e0c6f697a3ccf970 lace-0.3.0-linux-x64-c15.tar.zst
dd3bb4d0c27571ecbad443e1d18d57333bccf7dde39e9c7a8ceac94c0c5aeb2f lace-0.3.0-linux-x64-index.json
1a438f282feb19b971f474a8a2e27c8e863152c6b99297e108ca93e0c613eded lace-0.3.0-linux-x64-lace.tar.zst
337217d74ef3f4a3b9e194d569882133964c96365a38e15d2c2663a19cf354ac lace-0.3.0-linux-x64.tar.gz
27900c9a98d742b683226ca0a5ff659e840e1796c7dbfbf0ea61fa524ae7bf6f lace-0.3.0-windows-x64-c01.tar.zst
1facf9bfbf8c3702de84ac26313c54ac8786626082934003720f947c822ec95b lace-0.3.0-windows-x64-c02.tar.zst
8865d3f5e647f7d35bfce1c90b8c8b96ee8e831e1fc12b0969cacf7558f8cf78 lace-0.3.0-windows-x64-c03.tar.zst
432f90feaae410c54e0da19eabf3e3be4fc8dc8c0d3ce871523b0f53e35b2465 lace-0.3.0-windows-x64-c04.tar.zst
f95881f8b0dcbc8b16498d3ba68f0795bbd6973c76d8aae51a4fe1a810d25ed0 lace-0.3.0-windows-x64-c05.tar.zst
22cbac54deeabaa94a05f2984289a24e3d3830a98951abec74ec24a48bdc8cbd lace-0.3.0-windows-x64-c06.tar.zst
e65c55f0d93f4da20fe55fcac15d42f0869b179d2fafb45c7393589e8c3b7a14 lace-0.3.0-windows-x64-c07.tar.zst
367a44681d5f8561cb10e239ed3322b41ddfe54545b5d91ec24e51e9a372889c lace-0.3.0-windows-x64-c08.tar.zst
49869157197b0292c6432d8023b7df8c17de45d1f6eb3b5c991db2ccdd5fcb32 lace-0.3.0-windows-x64-c09.tar.zst
116f70e623229b8740e8b9d521912eeca8edb8e0a31be1eecd3251fb2e54cd4c lace-0.3.0-windows-x64-c10.tar.zst
80d3f2b429f691c09547428e66b3516b3523c150e32306a60f143e1e5bf200c3 lace-0.3.0-windows-x64-c11.tar.zst
45b6eb95db33dc4f97f80009321ff209ad143281b5b82b8ab445258df2713791 lace-0.3.0-windows-x64-index.json
058fbbab3a3c1455c9811c7f29ccc16a10612ec841e611865d56a86342055d97 lace-0.3.0-windows-x64-lace.tar.zst
a71767f43fcd255ae6f1e7b41ce43f767709251f70d74fc9d8c8c8b1b57f29cd lace-0.3.0-windows-x64-setup.exe
surfer-aurora v0.7.0-nips.10, pré-compilado
O surfer-aurora v0.7.0-nips.10 compilado do commit fixado em bundle/versions.json, para o bundle do Lace não compilá-lo a cada release. Não é uma versão do Lace.
Lace 0.2.0
0.2.0 (2026-10-05)
A 0.1.0 saiu com o nome Solar; esta é a mesma linha com o nome Lace (o
executável lace, a pasta ~/.local/share/lace, LACE_* no lugar de
SOLAR_*). O Lace não troca o Solar: quem tem o Solar 0.1.0 o desinstala e
instala o Lace (INSTALL.md, "Quem tem o Solar 0.1.0").
Lace Studio e instaladores:
- O Lace Studio, o ambiente gráfico, passa a morar neste repositório
(studio/), com a versão do Lace, e a sair no instalador como o
componentestudio, marcado na instalação Recommended. Fica no bundle
(toolchain/studio/), usa o bundle em que está e ganha atalho no menu de
aplicativos: olace-studio.desktopno Linux, oLace Studio.appem
~/Applicationsno macOS, o menu Iniciar (e, se marcado, a área de
trabalho) no Windows.lace install studioo instala depois, e o
uninstall.shtira o atalho (ADR 0013,lace_installer::desktop). - Os instaladores avisam quando falta o WebView do Studio: o webkit2gtk 4.1
no Linux, o WebView2 no Windows. - O cocotb também é componente no Windows, do bloco MSYS2 do lace-toolchain
(o Python e a VPI do Verilator compilados lá). Com isso, todo aplicativo
do bundle é selecionável nas três plataformas; só a linha de comando é
sempre instalada. - O bloco de Windows (
msys) vem do lace-toolchainucrt64-v1. - No Windows, o
lace.exe, o instalador, o Studio e o surfer-aurora levam
o runtime do Visual C++ dentro (+crt-static,.cargo/config.toml): não
pedem mais oVCRUNTIME140.dll. O Lace cria a pastatmp/do MSYS antes
do Verilator, cujomakeavisavacould not find /tmpa cada chamada. - Mínimos documentados (INSTALL.md, Requisitos): no Linux, a glibc 2.35
(Ubuntu 22.04, Debian 12, Fedora 36), porque o CI compila no
ubuntu-22.04(antes,ubuntu-24.04, que exigia a 2.39); no macOS, o 13,
comMACOSX_DEPLOYMENT_TARGET=13.0no build. - O
release.ymlpublica os pedaços do bundle na raiz da release (antes eles
ficavam emapps/e o passo das somas falhava) e confere que o Studio
tem a versão do Lace. - Windows, achados no primeiro CI com o instalador: a hierarquia (
lace hierarchy, a árvore do Studio) perdia as\dos caminhos dos arquivos (o
.vvpdo Icarus os guarda sem escapar; oiverilogda hierarquia passa a
recebê-los com/); abrir o projeto enquanto outro processo grava o.spf
falhava na troca do arquivo (Project::opencanonicaliza a pasta e tenta de
novo por alguns milissegundos, e a gravação também); odocs/schemavai em
LF no checkout. Limitação registrada: no Windows, a simulação encerrada pelo
--timeoutperde o que ainda estava no buffer de saída do simulador.
O Lace passa a cobrir o desenvolvimento em Verilog e o de processadores
SAPHO num fluxo só. Um projeto é Verilog; os processadores, quando existem,
são compilados pelo YANC antes de verificar, simular ou sintetizar. Um
projeto só de Verilog não precisa do YANC: a biblioteca SAPHO só entra
quando o projeto tem processadores (antes, entrava sempre que o YANC estava
instalado).
Comandos e opções novos:
lace add <arquivo.v>... [--tb]registra arquivos Verilog e decide pelo
conteúdo, com a regra da AURORA, se cada um é módulo ou testbench. O
arquivo que não existe é criado a partir de um modelo, e o testbench-modelo
já instancia o módulo testado. O primeiro módulo vira o topo; o primeiro
testbench, o simulado.lace remove <arquivo.v>...tira do projeto, sem apagar do disco.lace top [arquivo|módulo]mostra o topo ou o escolhe, por arquivo ou
por nome de módulo. Qualquer Verilog pode ser o topo, inclusive o
Hardware/<proc>.vque o build de um processador gerou; a exceção é o
nome de testbench (tb_<nome>.v,<nome>_tb.v,tb.v,
verilog::is_testbench_name), recusado cominvalid_name.lace add
não escolhe sozinho um arquivo com nome assim como topo.lace check <arquivo>verifica só os módulos de um arquivo;
lace check --lintacrescenta overilator --lint-only -Wall.lace sim <testbench>escolhe o testbench e simula.lace wave, sem argumento, abre a onda da simulação do projeto;
lace wave -p <proc>, a do processador.lace waveelace sim --openabrem a onda de um processador SAPHO
com o layout da AURORA: as variáveis do programa, a instrução de assembly
e a linha do C± de cada ciclo, em grupos (I/O, instruções, variáveis,
flags). As tabelas do YANC (trad_opcode.txt,trad_cmm.txt) viram
tradutores do Surfer em.lace/Temp/surfer/, sem tocar na configuração
do usuário.--no-layoutabre a onda crua. No Core,wave_layoute
prepare_wave_layout(ADR 0011).- O bundle traz o cliente web do surfer-aurora (
surfer-aurora/web/, da
mesma tag do executável), para interfaces que mostram a onda numa página;
Toolchain::surfer_web_diro acha. lace statusmostra o módulo de topo e os.vda pasta que não estão
registrados.lace move <origem>... <destino>move ou renomeia arquivos e pastas do
projeto, com os argumentos domv, e mantém o.spfem dia: os arquivos
registrados continuam registrados no lugar novo, na mesma posição, e o
topo, o testbench escolhido e o módulo de topo acompanham. O.spf, a
.lacee as pastas e o fonte dos processadores ficam no lugar; o destino
que existe não é sobrescrito (Project::move_path, erros novos
outside_project,cannot_moveepath_exists).lace hierarchy [-p <proc>]mostra a árvore de instâncias do design e de
cada testbench (os registrados e o de cada processador compilado), como o
Icarus as elabora: parâmetros resolvidos, blocosgenerateexpandidos e
as unidades da biblioteca SAPHO que o processador usa. Uma elaboração que
falha não esconde as outras. Não compila nem grava relatório
(lace_core::hierarchy,docs/schema/hierarchy.json).
Nome de projeto:
lace new(eProject::create) só aceita letras sem acento, dígitos,
_e-, começando por letra: o nome vira a pasta, o.spfe parte do
caminho de tudo que as ferramentas recebem. Antes aceitava espaço e
acento. Projetos que já existem, como os da AURORA, continuam abrindo.
validate_project_nameé pública, para uma interface avisar enquanto o
usuário digita.
Comandos e opções que saíram:
| Saiu | No lugar |
|---|---|
lace file add (--testbench, --create) |
lace add (--tb); o arquivo que não existe é criado |
lace file remove |
lace remove |
lace file top |
lace top |
lace file testbench |
lace sim <testbench> |
lace file list, lace proc list |
lace status |
lace input |
escrever <proc>/Simulation/input_<n>.txt, um valor por linha |
lace output |
lace sim -p mostra as saídas; o arquivo continua em <proc>/Simulation/output_<n>.txt |
lace config (show, path, set-compiler, unset-compiler) e o arquivo de configuração |
--compiler <DIR> ou a variável LACE_COMPILER, em qualquer comando |
--config, LACE_CONFIG |
nenhum: não há mais arquivo de configuração |
proc set --show-arrays |
proc set --arrays |
build --freq, --clocks, --show-arrays; sim --freq, --clocks |
proc set --freq, --clocks, --arrays, que gravam no .spf |
sim --simulator verilator |
sim --verilator |
sim --vcd |
a extensão do $dumpfile do testbench |
sim --jobs |
nenhum: o Verilator usa todos os núcleos |
sim --no-build, synth --no-build |
nenhum: os processadores são sempre compilados antes |
synth --no-widths |
nenhum: o esquemático sempre traz as larguras |
wave --view, wave --wait |
nenhum |
lace completions continua, mas não aparece mais na ajuda.
De qualquer pasta do projeto:
- Todo comando funciona de qualquer pasta do projeto, não só da raiz: o Lace
procura o.spfna pasta atual e nas de cima (Project::discover). Fora
de um projeto, o erro éproject_not_found. - Dentro da pasta de um processador (
soma/,soma/Software/,
soma/Simulation/),build,check,sim,wave,synthe
proc setsem nome valem para ele; no resto do projeto, para o projeto
inteiro (proc setpede o nome).lace statusmarca o processador da
pasta, e o JSON dele ganhahere. lace check -p <proc>verifica só o Verilog do processador e o testbench
gerado pelo YANC (CheckOptions::processor).
Saída em texto:
- Num terminal, uma barra mostra que cada passo está rodando (
Simulating (vvp),Compiling the model (verilator)), com o tempo decorrido. É
indeterminada, porque os simuladores não informam quanto falta, e só
aparece depois de 0,3 s. - O fim de cada operação diz o que ela fez e como terminou (
finished in 0.09 s,failed after 2 ms: cmmcomp exited with code 1), lista cada
passo (done,failed,not run) e mostra os artefatos com o papel e o
caminho:Generated, ou, numa falha,Written before it stoppedeNot generated. Quando um build falha antes,check,simesynthdizem que
a fase seguinte não rodou. Depois da simulação, a dica de abrir a onda.
Testbench dos processadores:
- O build copia o testbench que o YANC gera na pasta temporária para
<processador>/Simulation/<processador>_tb.v, como a AURORA, e a
simulação roda essa cópia. Antes ele ficava só em
.lace/Temp/<processador>/, e parecia que o YANC não o gerava.
Relatórios:
- Cada
lace build,check,simesynthgrava um relatório no
histórico do projeto (.lace/reports/run-NNNNNN/): status, comando,
máquina, ferramentas do bundle com versão e caminho, projeto, tempo de
cada fase e de cada ferramenta, estatísticas de síntese, artefatos e, numa
falha, o erro e o fim da saída do passo. É a função de relatório do
Alpha-Solar, trazida para o Core
(ADR 0010). lace reportmostra o mais novo;lace report show <ID>, um deles;
lace report list [--limit N], todos;lace report compare [ID] [--against ID] [--summary]compara as estatísticas de síntese e os tempos
de...
Solar 0.1.0
0.1.0 (2026-09-29)
Primeira versão. Substitui a orquestração da AURORA para o SAPHO.
solar-core: API para criar projetos e processadores (formato.spfda
AURORA), compilar com o YANC (C± e C), simular com Icarus Verilog e
Verilator, verificar sintaxe e sintetizar com Yosys, desenhar o esquemático
com oshowdo Yosys e o Graphviz, e abrir ondas no surfer-aurora.solar: a linha de comando sobre osolar-core, com saída em texto ou
JSON.- Bundle de ferramentas
2026.09.29: OSS CAD Suite de 2026-09-29, YANC v5.6,
surfer-aurora v0.7.0-nips.10 e, no Windows, Graphviz 16.1.0. O Solar só
executa ferramentas desse bundle; a exceção declarada é o compilador C++, o
makee o Perl do sistema, para o Verilator. - O OSS CAD Suite é dividido por ferramenta: o bundle completo de Linux tem
300 MiB, contra os 2,5 GB do pacote inteiro. - Instaladores: assistente (Inno Setup) no Windows, instalação guiada no
terminal no Linux e no macOS. Tipo Recomendada por padrão; Avançada para
escolher os componentes.
Plataformas: Linux x64, macOS Apple Silicon, Windows 10 e 11 x64.
Arquivos
c5ca9ce287148d3a7776c71125e7309e70cc2dfa90fa390b7d05c5cf987261f0 solar-0.1.0-darwin-arm64.tar.gz
aa2061512b58344b41de1b85f7e295308191dde16846889e0b366a90e25ac326 solar-0.1.0-linux-x64.tar.gz
7a825139cab504e76374817a863bbcc328cdfacd06a993b08b908f8340fc9e3a solar-0.1.0-windows-x64-setup.exe