本文主要是介绍【西西学FPGA】Lesson2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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%占空比
这篇关于【西西学FPGA】Lesson2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!