深入浅出玩转FPGA阅读笔记(5):可综合语法子集

一、模块声明类语法

module…endmodule

二、端口声明类语法

input、output、inout

三、参数定义

parameter:用于定义一些常量

四、信号类型

wire、reg

五、比较判断

if …else
case…default…endcase

六、循环语句

for

七、任务定义

task…endtask,通常用于组合逻辑电路。

module EXAMPLE (A, B, CIN, S, COUT); 
input [3:0] A, B; 
input CIN; 
output [3:0] S; 
output COUT; 
reg [3:0] S; 
reg COUT; 
reg [1:0] S0, S1, S2, S3; 
 
task ADD; 
input A, B, CIN; 
output [1:0] C; 
reg [1:0] C; 
reg S, COUT; 
begin
	S = A ^ B ^ CIN; 
	COUT = (A&B) | (A&CIN) | (B&CIN); 
	C = {COUT, S}; 
	end 
endtask 
 
always @(A or B or CIN) begin 
	ADD (A[0], B[0], CIN, S0); 
	ADD (A[1], B[1], S0[1], S1); 
	ADD (A[2], B[2], S1[1], S2); 
	ADD (A[3], B[3], S2[1], S3); 
	S = {S3[0], S2[0], S1[0], S0[0]}; 
	COUT = S3[1]; 
end 
endmodule

八、连续赋值assign,问号表达式(?:)

九、always语句块

十、运算操作符

+、-、*、/、!、&、|…

十一、赋值符号=、<=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值