FPGA学习笔记

parameter 定义常量 如:parameter a=2;
wire 常用来表示单个门驱动或连续赋值语句驱动的网络型数据,assign引导的赋值语句中左侧目标信号的类型必须是wire型 如wire[7:0] a,b
tri 表示多驱动的网络型数据
reg 数据储存单元 reg[3:0] rega,regb;//定义两个4位的名为rega,regb的存储单元
reg指标是被定义的信号将用在“always“块内
memory型 reg[7:0] mema[255:0];//mema存储器有256个8位存储器
不能对存储器直接赋值,如:mema=0;//错误
正确写法:mema[3]=0;//给mema中的第三个存储单元赋值为0

非阻塞赋值方式,如:b<=a;
语句块中,上面语句所赋变量值不能立即就下面的语句所用,块结束后才能完成赋值

csae语句:
reg[15:0] rega;
reg[9:0] res;
case(rega)
16’d0: res = 10’b0101010100;
16’d1: res = 10’b0000000111;
defualt: res = 10’bx;
endcase

casez用来处理不考虑高阻值z的比较过程
casex将高阻值和不定值视为不必关心

forever 语句 或 forever begin 多条语句 end
他常用于产生周期性波形,用来做仿真测试信号,他必须写在initial块中

repeat(表达式) 语句 或 repeat(表达式) begin 多条语句 end
他里面的表达式通常为常量表达式

while(表达式) 语句; 或while(表达式) begin 多条语句; end

begin-end块为顺序块
fork-join为并行块

块分为嵌套块、命名块、命名块的禁用
命名块特点:块中可以声明局部变量;命名块中声明的变量可以通过层次名引用进行访问;命名块可以被禁用

用disable可以终止命名块的执行 、可以用来从循环中退出、处理错误条件及根据控制信号来控制某些代码段是否被执行

生成块:generate-endgenerate;他可以控制变量的声明、任务或函数的调用,还能对实例引用进行全面的控制

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值