{"action":"closed","issue":{"url":"https://api.github.com/repos/tgingold/ghdl/issues/158","repository_url":"https://api.github.com/repos/tgingold/ghdl","labels_url":"https://api.github.com/repos/tgingold/ghdl/issues/158/labels{/name}","comments_url":"https://api.github.com/repos/tgingold/ghdl/issues/158/comments","events_url":"https://api.github.com/repos/tgingold/ghdl/issues/158/events","html_url":"https://github.com/tgingold/ghdl/issues/158","id":181846546,"number":158,"title":"generate labels lost in ghw wave files (always 'B1')","user":{"login":"wfjm","id":11338668,"avatar_url":"https://avatars.githubusercontent.com/u/11338668?v=3","gravatar_id":"","url":"https://api.github.com/users/wfjm","html_url":"https://github.com/wfjm","followers_url":"https://api.github.com/users/wfjm/followers","following_url":"https://api.github.com/users/wfjm/following{/other_user}","gists_url":"https://api.github.com/users/wfjm/gists{/gist_id}","starred_url":"https://api.github.com/users/wfjm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wfjm/subscriptions","organizations_url":"https://api.github.com/users/wfjm/orgs","repos_url":"https://api.github.com/users/wfjm/repos","events_url":"https://api.github.com/users/wfjm/events{/privacy}","received_events_url":"https://api.github.com/users/wfjm/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tgingold/ghdl/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-10-08T20:16:48Z","updated_at":"2016-10-11T04:27:34Z","closed_at":"2016-10-11T04:27:34Z","body":"Hi,\r\n\r\nI'm using ghdl, build from git \r\n  commit 9ebac9a4cf1dce154a1fb7eecd75ccad189b3424\r\n  Date:   Fri Jul 1 18:47:13 2016 +0200\r\n\r\nbuild with gcc backend.\r\nI generate ghw wave files and inspect them with gtkwave. When iterating in gtkwave over the available signals (here called facilities) I found many duplicate signals. Cross checking \r\n-  the vhdl code\r\n-  ghwdump -h\r\n-  gktwave 'facility' list\r\n\r\nrevealed that ghdl generates faulty signal names for ghw wave files.\r\n\r\nCulprit are generate labels. From a code like\r\n\r\n    IIST: if sys_conf_ibd_iist generate\r\n    begin\r\n      I0 : ibd_iist\r\n        port map (\r\n          CLK       => CLK,\r\n          ...\r\n          IIST_SRES => IIST_SRES\r\n        );\r\n\r\nI get in `ghwdump -h`\r\n\r\n    generate-if B1\r\n     instance i0\r\n      port-in clk: slbit #412\r\n      ...\r\n      port-in iist_sres: iist_sres_type #11028 #11029\r\n\r\nand consequently in gtkwave later signal names like\r\n\r\n    top.tb_nexys4_cram.uut.ibdr_sys.B1.i0.clk\r\n    ...\r\n    top.tb_nexys4_cram.uut.ibdr_sys.B1.i0.iist_sres.ack_boot\r\n    top.tb_nexys4_cram.uut.ibdr_sys.B1.i0.iist_sres.ack_lock\r\n\r\n==> all generate labels are replaced by 'B1'\r\n==> if one has multiple generates one gets duplicate signal names\r\n\r\nI get for one entity, with multiple generates, in ghwdump\r\n\r\n     instance ibdr_sys\r\n       generate-if B1\r\n        instance i0\r\n        ...\r\n       instance kw11l\r\n        ...\r\n       generate-if B1\r\n        instance i0\r\n        ...\r\n       generate-if B1\r\n        instance i0\r\n        ...\r\n       instance sdreg\r\n        ...\r\n       instance intmap\r\n\r\nThis is a rather simple bug, but with very serious consequences.\r\n\r\nWith best regards,   Walter\r\n"}}
{"actor":{"display_login":"tgingold"}}