EDA实验----四选一多路选择器设计(QuartusII)

news2025/1/16 11:01:37

目录

一.实验目的

二.实验仪器设备

三.实验原理:

四.实验要求

 五.实验内容及步骤

1.实验内容

2.实验步骤

六.实验报告

七.实验过程

1.创建Verilog文件,写代码

2.波形仿真

3.作出电路图

 4.烧录文件


一.实验目的

1.了解4选1的工作原理和实现的方法。
2.实现4选1多路选择器。
3.学会用于Verilog语言进行程序设计。

二.实验仪器设备

1.PC机一台
2.FPGA实验开发系统一套。 

三.实验原理:

4选1对应的功能真值表如下图:

        当选择输入AB为LL时,Y输出D0, 当AB为LH时,Y输出D1, 当AB为HL时,Y输出D2,当AB为HH时,Y输出D3。

四.实验要求

1.预习教材中的相关内容。
2.阅读并熟悉本次实验的内容。
3.用Verilog语言完成4选1多路选择器电路设计。

 五.实验内容及步骤

1.实验内容

分别采用case语句表达式、assign语句表达式、条件赋值语句表达式、条件语句表达式(if)设计4选1多路选择器。选择其中一种方法下载到板子验证即可,其余在仿真验证。

2.实验步骤

(1).开机,进入QUARTUSⅡ软件系统。
(2).建立工程。主芯片为Cyclone2系列EP2C20Q240C8N型号。工程名为
MUX41a。
(3).新建一个Verilog HDL File文件,命名为MUX41a.v。
(4).使用Verilog语言编写4选1多路选择器。
(5).保存文件。
(6).将MUX41a.v文件设置为工程的顶层文件并编译。
(7).创建仿真文件University Program VWF,添加所需的变量并进行功能仿
真。
(8).分析仿真结果
(9).配置管脚(四个按键分别是(153,95,154,31),拨码开关接(212,213),
LED接(218))
(10).编译综合下载验证。

六.实验报告

1.总结Verilog设计多路选择器使用的最基本与核心的语法知识。
2.对仿真的结果进行分析。
3.讨论自己在设计过程中遇到的问题、解决的过程以及收获体会。

七.实验过程

点击New project……创建新工程

 然后设置项目的路径和名称(自己设置就好了)

选择相对应的芯片类型(看自己情况选择) 

 创建完成!

1.创建Verilog文件,写代码

点击New,创建文件

 选择Verilog文件,创建

然后就是写代码,写完之后就进行保持文件,把文件的名称跟模块的名称改成一样。(必须一致)

代码如下: 

module MUX41a(A,B,C,D,S1,S0,Y);
	input A,B,C,D,S1,S0;
	output Y;
	wire AT=S0?D:C;
	wire BT=S0?B:A;
	wire Y=(S1?AT:BT);
endmodule

 写好了之后就进行保存  然后,把这个文件设置为顶层文件,右键点击这个.v文件,然后如下图所示,点击设置顶层文件

最后就是编译运行,如图所示,没有显示报错,就说明代码是没问题的。 

2.波形仿真

 同样的,还是去点击新建文件

选择创建仿真文件: 

如图所示,鼠标双击下图红色箭头指向的位置,导入输入输出接口。

点击下图箭头指向的位置,导入接口设置。 

进去之后,点击List,显示接口,然后把接口右移到当前仿真文件当中,最后点击OK就行了。

然后就是设置输入的波形,依次如下操作:

 设置完成了之后,就进行编译运行

仿真结果如下:

 然后对比相关逻辑,如果仿真无误就可以去画电路图了。

3.作出电路图

创建block文件,如图所示:

然后就是,点开左下方file文件,鼠标右键Verilog文件,然后生成子模块文件,如图所示: 

然后就是点开block文件,然后点击选择元器件,点开project文件夹,这里我们就会看到,有一个生成的元器件,也就是我们前面Verilog语言编程的元器件。

 然后就可以去画电路图了。电路图如下所示:

画好了电路图就进行引脚的绑定操作。如图所示,点开上面红色箭头指向的东西,然后下面就是去对每一个输入输出引脚去进行绑定。(根据实际情况需求去绑定)

 绑定完成了之后就是去编译运行,运行无错后就可以进行烧录操作了。如图所示,点击此处编译运行。

 4.烧录文件

点开此处。

这里我们会看到,下面有一个芯片,这个也就是我们写好了的sof文件,然后就是通过你的电脑接口去连接到开发板,如果你看到上面有一个No Hardware的时候,你点击旁边的按钮进行接口设置,设置为USB接口即可。最后点击start就可以进行烧录了。 

 最后就在开发板去进行检查吧。

以上就是本期的全部内容了,我们下一次见!

分享一张壁纸:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1197575.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TMUX命令的基本操作和使用

tmux:是两个单词的缩写,即“Terminal MultipleXer”,意思是“终端复用器”。 TMUX使用场景:假如你需要跑大模型或者数据集特别大的AI任务时,它往往需要花较长时间才能跑完,在跑的过程中,不能断…

苹果手机安装未上架APP应用测试教程

STEP 2:找到下载的描述文件(如果没有找到,请到 设置 - 通用 - 描述文件 中查看) STEP 3:安装描述文件 STEP 4:输入解锁密码安装描述文件 STEP 5:同意免责声明,安装描述文件 STEP 6…

“目标值排列匹配“和“背包组合问题“的区别和leetcode例题详解

1 目标值排列匹配 1.1 从目标字符串的角度来看,LC139是一个排列问题,因为最终目标子串的各个字符的顺序是固定的? 当我们从目标字符串 s 的角度来看 LC139 “单词拆分” 问题,确实可以认为它涉及到排列的概念,但这种…

puzzle(1612)拼单词、wordlegame

目录 拼单词 wordlegame 拼单词 在线play 找出尽可能多的单词。 如果相邻的话(在任何方向上),你可以拖拽鼠标从一个字母(方格)到另一个字母(方格)。在一个单词中,你不能多次使用…

Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图,Kotlin(5)

Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图,Kotlin(5) import android.content.ClipData import android.graphics.Canvas import android.graphics.Point import android.os.Bundle import android.util.Log import android.view.…

macOS Sonoma 14.2beta2(23C5041e)发布(附黑白苹果镜像地址)

系统介绍 黑果魏叔11 月 10 日消息,今日向 Mac 电脑用户推送了 macOS 14.2 开发者预览版 Beta 2 更新(内部版本号:23C5041e),本次更新距离上次发布隔了 14 天。 macOS Sonoma 14.2 添加了 Music 收藏夹播放列表&…

python工具HIKVISION视频编码设备接入网关任意文件下载

python工具 构造payload /serverLog/downFile.php?fileName../web/html/serverLog/downFile.php漏洞证明 文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。 免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何…

rasa train nlu详解:1.2-_train_graph()函数

本文使用《使用ResponseSelector实现校园招聘FAQ机器人》中的例子,主要详解介绍_train_graph()函数中变量的具体值。 一.rasa/model_training.py/_train_graph()函数   _train_graph()函数实现,如下所示: def _train_graph(file_importer…

【C语言】【数据结构】【环形链表判断是否带环并返回进环节点】有数学推导加图解

1.判断是否带环: 用快慢指针 slow指针一次走一步,fast指针一次走两步 当两个指针相遇时,链表带环;两个指针不能相遇时,当fast走到倒数第一个节点或为空时,跳出循环返回空指针。 那么slow指针一次走一步&a…

2000-2022年上市公司数字化转型同群效应数据

2000-2022年上市公司数字化转型同群效应数据 1、时间:2000-2022年 2、指标:股票代码、年份、行业代码、行政区划代码、数字化转型程度-A、数字化转型程度-B、同行业同群-数字化转型程度-A_均值、同行业同群-数字化转型程度-A_中位数、同省份同群-数字化…

使用电脑时提示msvcp140.dll丢失的5个解决方法

“计算机中msvcp140.dll丢失的5个解决方法”。在我们日常使用电脑的过程中,有时会遇到一些错误提示,其中之一就是“msvcp140.dll丢失”。那么,什么是msvcp140.dll呢?它的作用是什么?丢失它会对电脑产生什么影响呢&…

【Gradle-12】分析so文件和依赖的关系

1、前言 在包大小的占比中,so文件的占比往往是最高的,动辄几兆的大小多一个都会把包大小的指标打爆。 而在各厂商要求对手机CPU ARM架构进行分包适配的情况下,你更需要知道哪些依赖是没有适配v7a/v8a的,这将影响你的APP在应用市场…

华为dns mapping配置案例

解决内网PC用公网的dns用域名方法访问公司内网的web服务器: 原理是用DNS mapping方式解决 配置过程:域名——出口公网IP地址——公网端口——协议类型 公司内网client用户填公网dns, 公网上的dns上面已注册有公司对外映射的web服务器的公网…

管理能力测评,如何提升管理能力?

管理能力是综合能力的体现,通常也解读为组织管理能力,如果要再细分的话,可能还包括有沟通能力,协调能力,组织能力,执行力和专业能力等等。不过没有办法说的太细节,因为每个部分铺开了都是一个独…

AI 绘画 | Stable Diffusion 进阶 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)

前言 Stable Diffusion web ui,除了依靠文生图(即靠提示词生成图片),图生图(即靠图片提示词生成图片)外,这两种方式还不能满足我们所有的绘图需求,于是就有了 Embeddings&#xff0…

Echarts柱状体实现滚动条动态滚动

当我们柱状图中X轴数据太多的时候,会自动把柱形的宽度挤的很细,带来的交互非常不好,因此就有一个属性来解决:dataZoom 我这里只是实现了一个简易的版本,横向滚动。 dataZoom: {show: true, // 为true 滚动条出现realti…

自主开发刷题应用网站H5源码(无需后端无需数据库)

该应用使用JSON作为题库的存储方式,层次清晰、结构简单易懂。 配套的word模板和模板到JSON转换工具可供使用,方便将题库从word格式转换为JSON格式。 四种刷题模式包括顺序刷题、乱序刷题、错题模式和背题模式,可以根据自己的需求选择适合的模…

Activiti6工作流引擎:Form表单

表单约等于流程变量。StartEvent 有一个Form属性,用于关联流程中涉及到的业务数据。 一:内置表单 每个节点都可以有不同的表单属性。 1.1 获取开始节点对应的表单 Autowired private FormService formService;Test void delopyProcess() {ProcessEngi…

stm32超声波测距不准的解决方法(STM32 delay_us()产生1us)

首先要说明一下原理:使用stm32无法准确产生1us的时间,但是超声波测距一定要依赖时间,时间不准,距离一定不准,这是要肯定的,但是在不准确的情况下,要测量一个比较准确的时间,那么只能…

RK3568平台 查看内存的基本命令

一.free命令 free命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。 Mem 行(第二行)是内存的使用情况。 Swap 行(第三行)是交换空间的使用情况。 total 列显示系统总的可用物理内存和交换空间大小。 used 列显…