今天任务不是很多,回头看了下verilog基础。
顺便做些笔记....
`timescale 1ns/100ps 代表时间单位是1ns,时间精度为100ps;
以反引号“`”开始的第一条语句是编译器指令;
assign 连续赋值语句是并发执行的,也就是说各个语句的执行顺序与其在描述中出现的顺序是无关的;
initial 语句: 此语句只执行一次;
always 语句: 此语句总是循环执行;
*只有reg类型的数据才能在这两种语句中被赋值。reg类型数据在被赋新值前保持原有值不变。
时延可以细分为两种:
1) 语句间时延:这是时延语句执行的时延。
example:
sum = (A ^ B) ^ C;
#4 T1 = A & C;
先执行第一条语句,延迟4各单位时间,再执行第二条语句。
2) 语句内时延:这是右边表达式数值据算与左边表达式赋值间的时延。
example:
sum = #4 (A ^ B) ^ C;
先执行右边的等式,延迟4个单位的时间,再赋给sum。
在模块实例语句中,端口可以与名称或位置关联
名字关联 F(.A(a), .B(b)); 顺序可以随意调换
位置关联 F(a, b); 顺序不可以随意调换
阅读(1589) | 评论(0) | 转发(0) |