目录
一、一 位全加器:
a.原理图
1.全加器原理图和符号图
2.新建工程
3.创建顶层设计文件:
点击“File”一“New”,在弹出的“对话框中选择“block diagram”
调入元件,完成逻辑原理图设计:
4.编译查错:
只要无错误,警告不管,均可运行:
5.将项目设置成可调用元件:
点击File中的Create/Update→Create symbol file
6.仿真波形文件:
点击“file”中选择“new”,然后从出现的对话框中选择“VWF”:
按照如下图所示操作后,点击两次ok键:
波形编辑窗中调入了全加器的所有节点信号(初始):
设置输入信号“0”,“1”:
b.波形图
1.仿真:
继上一步设置输入信号之后,保存,然后点击仿真按钮,左边第一个:
2.报错:
3.设置
4.重新生成波形图:
d.硬件测试
1.设置驱动:
在连接好开发板之后,
等待电脑右下角提示驱动准备就绪
打开设备管理器,右击USB-Blaster
更新驱动,搜索我的
找到usb-blaster
确认之后始终信任,安装驱动
完成后
2.下载:
点击start:
3.等待右上角成功提示:
e.实验结果
二、Verilog语言仿真测试:
a.Verilog代码:
创建工程顶层文件,同上
不同:
菜单栏中找到File→New,在Design Files中选择Verilog HDL File
module flow_led(
input sys_clk , //系统时钟
input sys_rst_n, //系统复位,低电平有效
output reg [3:0] led //4个LED灯
);
//reg define
reg [23:0] counter;
//*****************************************************
//** main code
//*****************************************************
//计数器对系统时钟计数,计时0.2秒
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n)
counter <= 24'd0;
else if (counter < 24'd1000_0000)
counter <= counter + 1'b1;
else
counter <= 24'd0;
end
//通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n)
led <= 4'b0001;
else if(counter == 24'd1000_0000)
led[3:0] <= {led[2:0],led[3]};
else
led <= led;
end
endmodule
b.硬件测试
步骤同上。
c.实验结果
三、参考:
2.波形仿真出错