FPGA小白入门,记录笔记用,持续更新中
1.#的作用
1)普通延迟 #50
2)门延迟 and #(3,4,5) b1 (out,in,control); //上升延迟为3,下降延迟为4,关断延迟为5
3)给底层函数的参数赋新值
module modulename #(
parameter val = 某个数字
)(参数1,参数2…
);
…
endmodule
2.例化时接口类型定义
子模块的输出端口在例化时都要定义为wire类型进行连接,不管改端口是reg或wire,
其他端口视情况而定就行。
3.无法生成原理图
程序放于中文路径下了,改成全英文路径即可
4.波形图上,状态用中文定义代替
定义一个寄存器变量,直接把状态名称以字符串方式赋值给这个寄存器变量。例如:
always@(*)
case (state)
one: newstate = “状态”
endcase
4.task任务(仿真中的用法)
task key1_press;
integer i;
begin
~~
end
endtask