等等。。
学习时间:基础内容的学习 - 20*8h,啊啊啊我可以我能行,看来这个月我给把时间砸这上面了~~
仿真两大作用:检查验证设计功能是否正确;调试问题,可以看到设计中每一个信号每一个时刻的值,通过仿真分析设计中信号异常的原因。做设计时,超过50%的时间不是在写代码,而是通过仿真调试代码找问题。
写一套硬件描述语言,能够在指定硬件平台实现相应功能。
让设计的逻辑在目标板上正常工作 - 功能正常、性能稳定
快速熟悉环境及流程
1. 编码
module mux2( //端口列表
a,
b,
sel,
out
);
//端口定义
input a;
input b;
input sel;
output out;
//2 select one
assign out = (sel==1)?a:b;
endmodule
2. 分析综合
3. 功能仿真
添加激励文件 text bench
`timescale 1ns/1ns
module mux2_tb(); //without port
reg s_a; //激励信号
reg s_b;
reg sel;
wire out;
//例化- 复制过来,稍微改动
mux2 mux2_inst0(
.a(s_a),
.b(s_b),
.sel(sel),
.out(out) //连信号线
);
//initial块 - 变化高低电平
initial begin
s_a = 0; s_b = 0; sel = 0;
#200; //延迟200,注意这只适用于描述激励
s_a = 0; s_b = 0; sel = 1;
#200;
s_a = 0; s_b = 0; sel = 0;
#200;
s_a = 0; s_b = 1; sel = 1;
#200;
s_a = 1; s_b = 1; sel = 0;
#200;
s_a = 1; s_b = 0; sel = 1;
#200;
s_a = 1; s_b = 1; sel = 0;
#200;
s_a = 1; s_b = 1; sel = 1;
#200;
$stop;
end
endmodule
initial块
4. 布局布线 run implementation
5.时序仿真
6. 下载到板子上,调试
分配IO引脚

ctrl+s
我艹,之前我都是照猫画虎自己胡写的。。。
7. 生成比特流文件
啊哈哈好好玩啊,当然被自己笨拙的样子笑到
open target → auto connect
Program device 就ok啦~