1.module名定义
2.输入/出信号名,方向和位宽
3.模块逻辑定义和实现
4.endmodule
module traffic(clk,urgency,east_west,south_north,led)input clk
input urgency
output [7:0]east_west,south_north
output [5:0]led
reg [7:0]east_west,south_north
reg [5:0]led
initial begin
east_west<=8'b0
south_north<=8'b0
led<=6'b100001end
always @(posedge clk)
begin if(urgency==1) led<=6'b100100
else if(east_west==8'b0 &&south_north==8'b0) begin
east_west<=8'b00101101
south_north<=8'b00101000
led<=6'b100001end
else if(east_west==8'b00000110 &&south_north==8'b1) begin
east_west<=8'b00000101
south_north<=8'b00000101
led<=6'b100010end
else if(east_west==8'b1 &&south_north==8'b1 &&led[5]==1'b1) begin
east_west<=8'b00101000
south_north<=8'b00101101
led<=6'b001100end
else if(east_west==8'b1 &&south_north==8'b00000110) begin
east_west<=8'b00000101
south_north<=8'b00000101
led<=6'b010100end
else if(east_west==8'b1 &&south_north==8'b1 &&led[2]==1'b1) begin
east_west<=8'b00101101
south_north<=8'b00101000
led<=6'b100001end
else if(east_west[3:0]==4'b0000) begin
east_west<=east_west-8'b111
south_north<=south_north-1'b1end
else if(south_north[3:0]==4'b0000) begin
east_west<=east_west-1'b1
south_north<=south_north-8'b111end
else begin
east_west<=east_west-1'b1
south_north<=south_north-1'b1
end
end
endmodule
上面是我前一段时间写的交通灯控制器设计代码,相应的英文字母对应相应的信号
1.module 结构
module 程序名称(
input x,y;#输入信号
output .....#输出信号
);#末尾加分号
程序正文
endmodule #程序结尾,无符号
2.数据类型:
reg:寄存器类型,数据存储单元,默认初始值为X。只能在always和intial语句中被赋值。
例:reg[31:0] x#32位寄存信号 reg y#一位寄存信号
wire:线网类型,不能存储数值,模块的输入输出默认为wire型,初始值为Z,值由它的驱动决定。在assign中赋值。
例:wire key
tri:多驱动器驱动的网络型数据。
memory:存储器,通过扩展reg的地址范围构成。
例:reg[3:0] memo[255:0] 256个地址的4为寄存器
paramter:常量。
例:paramter one =2'd00
3.常用运算符
~:按位取反 ~1111=0000
!:逻辑取反
& :按位与
&&:逻辑与
| :按位或
| :逻辑或
^ :异或
^~ : 同或
=:赋值 *** 作
<=:无阻塞赋值
==:等于
===:相同
!=:不等于
!==:不相同
<<:左移
>>:右移
{ , , , }:拼接符号
{{}}:复制
**:次幂
?: :条件错做符
+:加
-:减
*:乘
/:除
%:取模。模运算中,取第一个数的符号。
4.关键字
module :模块
input:输入信号
output:输出信号
inout:双向端口
begin:起始
end:结束
edge:边沿
posedge:上升沿
negedge:下降沿
case endcase:case语句
if:判断
esle:
for:
endmodule:模块结束
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)