---
# System prepended metadata

title: 軟硬體協同設計-HW5

---

軟硬體協同設計-HW5
---
作業:探討覆蓋率
學號:A1095150
姓名:陳弘諭
指導老師:林宏益

---
一.實驗目的:
---
在工作站上使用makefile對Moore finite state machine進行code coverage分析。並解釋其覆蓋率不足的原因。

---
二.實驗討論:
---
1.請解釋為何覆蓋率只有75%?
![image](https://hackmd.io/_uploads/ByShFI9E6.png)
![image](https://hackmd.io/_uploads/HJLlq8qEp.png)
![image](https://hackmd.io/_uploads/B1DM5IqNT.png)
點開FSM coverage 可以發現我們少了S0->IDLE的狀態轉換,故覆蓋率只有75%
2.要如何提升Line,FSM,Condition,Branch的覆蓋率?
1.FSM coverage
因為我們把testbench的輸入時間設置太長(100時間單位)而CLK設置的太短(10時間單位),我們只要把輸入和CLK時間設置一樣長即可使FSM有100%覆蓋率
2.line coverage
![image](https://hackmd.io/_uploads/rk9hJDq4p.png)
由於我們設計得狀態機只有三個狀態,因此state不會跑到default去,故會少跑一行。如果我們將default刪去,line coverage就會達到100%覆蓋率
![image](https://hackmd.io/_uploads/By40xv9N6.png)
