差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
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;​