差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
10._交通灯 [2021/10/03 01:32] gongyu |
10._交通灯 [2021/10/05 23:40] (当前版本) gongyu |
||
|---|---|---|---|
| 行 10: | 行 10: | ||
| // | // | ||
| 上图为十字路口交通示意图分之路与主路,要求如下: | 上图为十字路口交通示意图分之路与主路,要求如下: | ||
| - | * 交通灯主路上绿灯持续15s的时间,黄灯3s的时间,红灯10s的时间; | + | * 交通灯主路上绿灯持续15s的时间,黄灯3s的时间,红灯10s的时间; |
| - | * 交通灯支路上绿灯持续7s的时间, 黄灯持续3秒的时间,红灯18秒的时间; | + | * 交通灯支路上绿灯持续7s的时间, 黄灯持续3秒的时间,红灯18秒的时间; |
| // | // | ||
| {{ ::状态机框架.png?300 |}} | {{ ::状态机框架.png?300 |}} | ||
| // | // | ||
| 根据上述要求,状态机设计框架分析如下: | 根据上述要求,状态机设计框架分析如下: | ||
| - | * S1:主路绿灯点亮,支路红灯点亮,持续15s的时间; | + | * S1:主路绿灯点亮,支路红灯点亮,持续15s的时间; |
| - | * S2:主路黄灯点亮,支路红灯点亮,持续3s的时间; | + | * S2:主路黄灯点亮,支路红灯点亮,持续3s的时间; |
| - | * S3:主路红灯点亮,支路绿灯点亮,持续10s的时间; | + | * S3:主路红灯点亮,支路绿灯点亮,持续10s的时间; |
| - | * S4:主路红灯点亮,支路黄灯点亮,持续3s的时间; | + | * S4:主路红灯点亮,支路黄灯点亮,持续3s的时间; |
| // | // | ||
| {{ ::状态示意图.png?500 |}} | {{ ::状态示意图.png?500 |}} | ||
| 行 62: | 行 63: | ||
| //DEFINE PARAMETER | //DEFINE PARAMETER | ||
| //******************* | //******************* | ||
| - | parameter WIDTH = 3; | + | parameter WIDTH = 3; |
| - | parameter N = 5; | + | parameter N = 5; |
| //******************* | //******************* | ||
| 行 79: | 行 80: | ||
| //******************** | //******************** | ||
| //REGS | //REGS | ||
| - | reg [WIDTH-1:0] cnt_p,cnt_n; | + | reg [WIDTH-1:0] cnt_p,cnt_n; |
| - | reg clk_p,clk_n; | + | reg clk_p,clk_n; |
| assign clkout = (N==1)?clk:(N[0])?(clk_p&clk_n):clk_p; | assign clkout = (N==1)?clk:(N[0])?(clk_p&clk_n):clk_p; | ||