数字电路基础与Quartus入门

重庆交通大学信息科学与工程学院

《嵌入式系统基础A》课程

实验报告

班 级: 物联网工程190x

姓名-学号 : 徐权-632007060327

实验项目名称: 数字电路基础与Quartus入门

实验项目性质: 设计性

实验所属课程: 《嵌入式系统基础A》

实验室(中心): 南岸校区语音大楼

指 导 教 师 : 娄路

完成时间: 2021 1114

一、实验内容和任务

复习数字电路基础知识;安装Quartus 软件和Modsim仿真软件,进行数字电路的仿真与验证。

  1. 安装Quartus 18.1 标准版或lite 免费版, 或者安装旧版本Quartus-II 13(网上博客大都是此旧版) ,以及 Modelsim等软件, 可参考:

https://blog.csdn.net/qq_43279579/article/details/115158140

https://blog.csdn.net/qq_43279579/article/details/115176423

原子哥教学视频:

https://www.bilibili.com/video/BV194411f7GD?p=5

  1. 在 Quartus中自己用门电路设计一个D触发器,并进行仿真,时序波形验证;

参考附件1“Quartus-II输入原理图及仿真步骤.docx”。

  1. 在 Quartus 中直接调用一个D触发器电路,进行仿真,时序波形验证,与2做比较;

  2. 在 Quartus 中用Verilog语言写一个D触发器,进行仿真验证,与3做比较;

参考物联19级学长:

https://blog.csdn.net/weixin_46129506/article/details/123443865
二、实验要求

1. 分组要求:每个学生独立完成,即1人1组。

2. 程序及报告文档要求:具有较好的可读性,如叙述准确、标注明确、截图清晰等。

3.项目代码上传github,同时把项目完整打包为zip文件,与实验报告(Markdown源码及PDF文件)、作业博客地址一起提交到学习通。

三. 实验过程介绍 (此处可以填博客内容)

1. 安装Quartus 18.1 标准版或lite 免费版, 或者安装旧版本Quartus-II 13(网上博客大都是此旧版) ,以及 Modelsim等软件, .

一、Quartus II的下载

阿里云盘下载链接:https://www.aliyundrive.com/s/MhsGS4He144

二、Quartus II的安装

1.解压文件
下列是解压好的文件
在这里插入图片描述
2.运行可执行程序
3.安装导向过程
①进入welcom界面
点击next
②勾选“I accept the agreement”,然后点击Next
在这里插入图片描述
③选择相应安装的位置,然后点击Next
④选择安装的内容,然后点击Next
在这里插入图片描述
device要在官网上下载,下载好了放在同一个文件夹里就会安装内容里面就显示,这里我之前错误安装没有安装 后面正确安装搞忘截图了
⑤点击Next
⑥安装漫长的等待
⑦点击finish并选择默认选项
在这里插入图片描述
⑧点击下一页
在这里插入图片描述
⑨完成在这里插入图片描述

三、破解软件

接下来是破解步骤
从桌面找到刚才已经安装好的Quartus软件,右键以管理员运行,然后选择第三项,点OK
在这里插入图片描述

破解程序复制到bin64并点击运行
在这里插入图片描述

进入options界面,复制好NIC id
在这里插入图片描述

把license.dat 文件拷贝到 D: intelFPGA 路径下, 然后用记事本打开 。
在这里插入图片描述

将复制好的NIC id把HOSTID=xxxxxxxxxxxx中的xxxxxxxxxxxx全部替换并保存

在这里插入图片描述
最后点击OK就完成了
在这里插入图片描述
最后的效果一定要是这样子不然后面会有问题:
在这里插入图片描述
这么操作完,Modelsim和Quartus应该就是下载安装完成了。

2. 在 Quartus中自己用门电路设计一个D触发器,并进行仿真,时序波形验证;

1.创建工程

1.File->New Project Wizard:
在这里插入图片描述
2.点击Next
3.设置工程的存储位置和项目名称
在这里插入图片描述
3.点击next
在这里插入图片描述
4.点击next
在这里插入图片描述
5.选择目标芯片:cycloneIVE系列的EP4CE11529C7
在这里插入图片描述
6.EDA Tool Setting设置
在这里插入图片描述
检查项目信息,点击finish
在这里插入图片描述

2.新建原理图文件

打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“ Design Files” 的原理图文件编辑输入项“Block block diagram/schematic File"按"OK"后将打开原理图编辑窗。
在这里插入图片描述

在这里插入图片描述
点击按纽“ Symbol Tool”或直接双击原理图空白处,从“ Symbol”窗中选择
需要的符号,或者直接在“name”文本框中键入元件名
在这里插入图片描述
4 个 nand2 与非门,1 个 not 非门,2个输入管脚和2个输出管脚,并连线,最终如下图:
在这里插入图片描述
3.编译
进行编译,若无错误则可进行下一步,若有错进行原理图修改。
查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。
在这里插入图片描述
在这里插入图片描述
4.仿真波形图
新建波形文件。如上面新建图形文件的方法,从“file”中选择“new”,然后从出现的对话框中选择“university program VWF”。
点击“OK”。
在这里插入图片描述
输入波形文件。在波形文件编辑器左端大片空白处双击,出现“insert node or bus”对话框,点击“node finder”按钮。如图。
在这里插入图片描述
然后在随后出现的“node finder”对话框中点击“list”按钮,则半加器中所有的输入输出引脚全部出现在对话框左边。再在该界面上点击“>>”,则把左边所有的端口都选择到右边,进入波形,如图。
在这里插入图片描述
出现如图的波形文件。
在这里插入图片描述
编辑输入CLK,产生时钟信号
在这里插入图片描述
把输入D随便设置几个低电平和高电平
保存文件:【File】→【Save】。
功能仿真
点击功能仿真编译按钮:
在这里插入图片描述
时序仿真图
在这里插入图片描述

3. 在 Quartus 中直接调用一个D触发器电路,进行仿真,时序波形验证,与2做比较;

1.创建工程
与三、1.创建工程相同

2.新建原理图文件
方法同2.2.新建原理图文件
这时,不再画D触发器的内部结构了,而是直接调用D触发器,元件名:dff
在这里插入图片描述
再添加输入和输出管脚。最终原理图如下:
在这里插入图片描述
3.编译
保存并编译,然后查看原理图:
在这里插入图片描述
4.仿真波形图
具体步骤与三、4.仿真波形图相同。
结果如下:
功能仿真波形图(延时半个时钟周期):
在这里插入图片描述
时序仿真波形图(延时一个时钟周期):
在这里插入图片描述
五、用Verilog语言实现D触发器及时序仿真
1.创建工程
与3、1.创建工程相同

2.新建Verilog HDL 文件
【File】→【New】→【Verilog HDL File】
在这里插入图片描述
编写代码:

module test104(D,CLK,Q);
    input D;
    input CLK;
    output Q;

    reg Q;

    always @ (posedge CLK)//我们用正的时钟沿做它的敏感信号
    begin
        Q <= D;//上升沿有效的时候,把d捕获到q
    end
endmodule

3.编译
保存文件并编译.
使用rtl viewer查看硬件电路图
硬件电路图
在这里插入图片描述
4.仿真波形图
可以跟前面一样仿真,这里使用modelsim SE进行手动仿真

打开 Modelsim 软件。
具体步骤如下:
在Quartus创建的工程文件夹下新建一个 tb 文件夹;
点击【File】→【Change Directory】选择 tb 文件夹;

创建新项目:【File】→【New】→【Project…】,编写工程名及选择路径;
在这里插入图片描述

添加现有文件:Add Existing File
然后
在这里插入图片描述
再创建一个新的文件
在这里插入图片描述
然后关闭添加文件窗口界面
再双击刚刚新建的 wave_d.v 文件,添加如下代码:

//测试代码

`timescale 1ns / 1ns

module text104_tb;
    reg CLK,D;
    wire Q;

    text104 u1(.D(D),.CLK(CLK),.Q(Q));

    initial
    begin
        CLK = 1;
        D <= 0;
        forever
        begin
            #60 D <= 1;//人为生成毛刺 
            #22 D <= 0;
            #2  D <= 1;
            #2  D <= 0;
            #16 D <= 0;//维持16ns的低电平,然后让它做周期性的循环
        end
    end

    always #20 CLK <= ~CLK;//半周期为20ns,全周期为40ns的一个信号
endmodule

然后保存,点击【编译】按钮,编译所有文件
点击【Simulate】→【Start Simulation…】
在这里插入图片描述
找到 wave_d.v 文件所在的工程(看路径),取消勾选,点击【OK】
右键点击工程名,再点击【Add Wave】
设置运行时长,再点击旁边的运行按钮,即可出现仿真效果图
在这里插入图片描述
三种方式的对比:输入原理图能更清楚的了解D触发器的内部结构,调用D触发器最方便,但对D触发器的内部结构来说就不太清楚,Verilog语言在遇到比较复杂的电路图时会更容易。
通过三种方式实现D触发器及时序仿真的过程,可以发现D触发器的基本功能是在复位信号为1的时候,CLK的上升沿会引起Q值的变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值