Annotation & Buses in Blocks - Possible Bug?

Hi,

There seems to be issue with annotating parts in Blocks. If any of the parts are “smashed” then RefDes of those parts do not get updated in instantiated sheets when annotation is done.
Although these parts internally do get annotated correctly, but their RefDes are updated only when they are “un-smashed”.

While parts in normal sheets do not show this issue even when smashed.

Are Buses disabled in Blocks? I am unable to place Bus Labels or Rippers in Block at all as no Bus-Names are displayed in Bus List on Block level.

Also Annotation does not update the instantiated sheet references at all. They remain “I?” and have to be manually changed in each instance.

sam

Fixed in imp schematic: properly set smashed texts · horizon-eda/horizon@56e43ed · GitHub

Are Buses disabled in Blocks? I am unable to place Bus Labels or Rippers in Block at all as no Bus-Names are displayed in Bus List on Block level.

Fixed in tool manage buses: use current block · horizon-eda/horizon@611e3e7 · GitHub buses are block-local.

Also Annotation does not update the instantiated sheet references at all. They remain “I?” and have to be manually changed in each instance.

That’s intentional, instance names are to be set manually.

1 Like

That’s great.
Where can I access this build ?

sam

If you’re on windows, you can get a snapshot from https://mirror.selfnet.de/horizon-eda/win64-ci/horizon-win64-2023-03-19-1741-master.zip

If you’re on linux, follow the instructions on Building on Linux — horizon-eda 1.0 documentation

I am on Windows 11. Thanks for the link.

But with this version, Horizon crashes when I try to open my local pool or Horizon pool.

Opening schematic gives error “Editor for ;project_path\blocks.json’ exited with status - 1073741819” & does not open.

And with Board, gives error “Editor for ‘project_path\board.json’ exited with status - 1073741819” & does not open.

Also in both cases when I tried to copy stdout/stderr messages, Horizon shuts down.

sam

I also tried this on a windows 10 machine and can confirm what you’ve observed. Looks like there’s something wrong with the way I create the binary distribution since running it from the MINGW64 shell with all dependencies installed works.

I’ll keep you updated.

In the meanwhile you can build and run it from the MINGW64 shell: Building on Windows — horizon-eda 1.0 documentation

https://mirror.selfnet.de/horizon-eda/win64-ci/horizon-win64-2023-03-22-0115-win32-egl.zip Try this.

Thanks for new link.
I haven’t checked everything, but this is seems to be working. All editors & pools are opening & behaving as they should.
But Board editor warns me about incompatibility with previous version, that has stopped me from switching to it. Is this going to be true whenever new stable version will be released?

BTW, I also found another issue with current 2.4…
Net-Classes assigned in TopSheet doesn’t propagate to blocks & similarly Net-Classes assigned in blocks doesn’t propagate to TopSheet or other blocks.

I have to change the Net-Class on same net in 3 different locations…

  1. TopSheet or inside Block-1
  2. Net connecting Top-Sheet to Block or net connecting Block-1 & Block-2
  3. Inside the Block-2

Electrical Net-Connectivity correctly assumes that all 3 nets are the same, but Net-Classes remain different. And no error/warning is given by Rule-Check.

Thanks again,
sam

The current master branch supports features that’ll be part of the next 2.5 release, so are not supported by 2.4. Right now, this is supporting more inner layers: https://github.com/horizon-eda/horizon/blob/master/scripts/app_versions.yml

What this means for you: Boards saved with latest master can’t usually be edited with the 2.4 release to prevent the new features from getting lost. If you’re not using the new features (more inner layers in this case), you can manually change the version in the board.json file.

Net-Classes assigned in TopSheet doesn’t propagate to blocks & similarly Net-Classes assigned in blocks doesn’t propagate to TopSheet or other blocks.

This is working as intended. In the schematic editor, the individual blocks don’t know that much about each other. When flattening the netlist for the board editor, the netclass from the topmost net will win.

1 Like