原创 【西西学FPGA】 Lesson2

2016-3-17 13:26 861 11 11 分类: FPGA/CPLD

FPGA 16.2.28
第二讲 Verilog语法(上)杨亮老师
1 位宽 数据所需的二进制表示的位数;位宽不对时,赋值取低位;
2 阻塞赋值:组合逻辑(=),结果需要等到两个输入都到达之后
   非阻塞赋值:时序逻辑(<=),结果就取当前时间沿的值,不等待
3 D触发器,在cp的时候,qn+1=qn;
4 tb的写法:
   module 端口声明,端口赋值,模块实例化,endmodule
5 initial:上电就执行,只执行一次。
6 赋值方式: initial(reg) always(reg)assign(wire)
7 tb:测试文件中除了clk,其他都选择<= 非阻塞赋值
8 变量小写,常量大写
9 initial 不写入功能文件,被认为不可综合
10 always可以实现组合逻辑与时序逻辑
11 如果直接写 1011,机器默认32位十进制数 ‘d1011,默认32位;
12 input 必须为wire类型的
13 未定义的变量默认为线型的

第二讲 Verilog(下) 杨亮老师
1 算术运算符 +-可综合; */ 可以使用IIP核;%取余,尽量不用
2 赋值(= <=)
3 关系运算符 (>,<,<=,>=,==,!=) if (3<a<9) if(3<a&&a<9)
4 逻辑运算符(&&,||,!)结果只有0和1;
5 位运算符(&,|,~)
^异或
^~同或
8 【重要】{}位拼接,组合逻辑,硬件实现
9 三目运算符 ?:


【习题】
1 循环移位
2 计数器18

【下节预告】
1 分频器
2 奇偶分频 50%占空比

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条