다음 Clock Generation 문은 ModelSim/QuestaSim에서 100 % 코드 적용 범위가 아닙니다. 나는이 다른 지점에 추가하면왜이 동시 진술은 100 % 코드 커버리지 미만입니까?
library ieee;
use ieee.std_logic_1164.all;
entity coverage1_tb is
end entity;
architecture tb of coverage1_tb is
signal clk : std_logic := '1';
signal finished : boolean := false;
begin -- architecture tb
clk <= not clk after 10 ns when not finished;
--clk <= not clk after 10 ns when not finished else unaffected;
process
begin
wait until rising_edge(clk);
wait until rising_edge(clk);
wait until rising_edge(clk);
finished <= true;
wait;
end process;
end architecture;
: else unaffected
을, 나는 100 % 적용을받을
clk <= not clk after 5 ns when not finished;
이 전체 예입니다.
동시 신호 할당은 순차 신호 할당 (LRM 11.6)이있는 프로세스로 변환됩니다. 영향을받지 않는 브랜치는 널 문으로 변환됩니다 (LRM 11.6, 참고 2, LRM 10.5.2.1).
왜 ModelSim/QuestaSim에서 웨이브 폼이없는 명시 적 else 브랜치를 작성해야하는지 모르겠습니다.
감사합니다 -Library] (https://github.com/VLSI-EDA/PoC). – Paebbels
내가 기억할 수있는 한,'apt-get install lcov' - genhtml은 패키지의 일부입니다. 그러나 다른 Q/A에 대한 경고를 보면 코드 커버리지에서 시뮬레이터가 완전히 부드럽게 보이지 않는 것처럼 보입니다. –