Verilog HDL 基本语法回顾
打算设计一个简单的微程序控制CPU模型,下面是VHDL语法回顾。
module的结构
/*
VHDL是由模块组成,嵌在module endmodule之间,其他语句均由 ';' 结束
*/
module add(a,b,c,sum,count); //模块端口定义
input [2:0] a,b;
input cin;
output [2:0] sum;
output count; //IO 定义
//内部变量定义
assign {count,sum} = a + b + cin; // 功能定义
endmodule
功能块
常用的是 assign
(组合逻辑电路)和 always
(时序电路)
//简单的计数器
module count (clk,reset,x,num);
input reset,clk,x;
output [1:0]num;
reg [1:0]num;
always @ (posedge clk) //上升沿
begin
if(reset)
num=2'b00;
else
case (num)
2'b00 : if(x==0) num<=2'b01;
else num<=2'b11;
2'b01 : if(x==0) num<=2'b10;
else num<=2'b00;
2'b10 : if(x=&