【西西学FPGA】Lesson2

来源:互联网 发布:数据融合是数据预处理 编辑:程序博客网 时间:2024/05/01 08:36
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
原创粉丝点击