差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
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; |