文章目录
在做这里的学习之前,需要先把Modelsim SE 安装好,Quartus-II及其固件库等,这个实验本身并不复杂,但是在做的过程中会有很多小的地方报错,按步骤一步一步来,否则很容易出错。
半加器电路是指对两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。 是实现两个一位二进制数的加法运算电路。
真值表如下

全加器是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。常用二进制四位全加器74LS283。
真值表如下(Ai为被加数,Bi为加数,相邻低位来的进位数为Ci-1,输出本位和为Si。向相邻高位进位数为Ci)

半加器与全加器区别
半加器没有接收进位的输入端,全加器有进位输入端,在将两个多位二进制数相加时,除了最低位外,每一位都要考虑来自低位的进位,半加器则不用考虑,只需要考虑两个输入端相加即可。
新建工程
①File->New Project Wizard
②next至项目名称设置

③选择目标芯片:cycloneIVE系列的EP4CE115F29C7

④EDA Tool Setting设置

确认信息后finish即可。
新建原理图文件
①file->new,选择Design Files

②双击原理图空白处,从“ Symbol”窗中选择需要的符号,或者直接在“name”文本框中键入元件名

③分别调入元件and2,xnor和输入输出引脚input和output,拖动引脚即可连接。然后双击input和output即可修改引脚名。

④编译

调试与仿真
①为了构成全加器的项层设计,必预将以上设计的半加器half_adder.bdf设置成可调用的元件。即可将当前文件h_adder. bdf变成一个元件符号存盘,以待在高层次设计中调用。
File->Create/Update->Create Symbol Files for Current File
①新建文件,file->new->university program VWF

②输入波形文件。在波形文件编辑器左端大片空白处双击,点击“node finder”按钮。

③点击“list”按钮,则半加器中所有的输入输出引脚全部出现在对话框左边。再在该界面上点击“>>”,则把左边所有的端口都选择到右边,进入波形

完成设置之后出现波形

④设置输入波形输入取值。方法可以是选中某段需要设置数值“1”的波形,然后在工具栏上点击按钮 ,即可。反之设置“0”,或其余数值同法可行。

⑤仿真。先保存文件为“half_adder.vwf”,点击工具栏上仿真按钮 ,完成后会自动跳出仿真后的文件

出现报错
做到这里,会出现报错,这时需要进行一些设置。
①tools->options

②tools->Launch silutation…

仿真!!!
分别点击两个仿真按钮即可


①在之前的项目上新建一个原理图,3个input(ain,bin,cin),2个output(cout,sum),2个half_adder(自己上一步建立的可调用元件),1个or2,连接如下:

②设置为顶层文件project→set as top_level entity
③仿真,步骤和上面半加器仿真相同(在仿真之前要先将.bdf文件编译一下)


①引脚绑定
引脚绑定前先要确定具体硬件电路,即目标芯片与外围电路(输入、输出显示等)的连接情况。实验室使用的ED2-115开发板,除了核心FPGA芯片外,还自带一些外围输入输出电路。我们就是利用这些输入输出电路来进行硬件测试。
开发板如下:

全加器引脚绑定设计开发板上的18个拨码开关选其中三个,SW0,SW1,SW2分别接a,b,c(开关向上拨和向下拨分别显示输入是高还是低电平);LED0,LED1分别接cout和sum,灯亮表示输出为“1”,灯灭表示输出为“0”。
硬件设计好后,还需要查引脚图(引脚图见附录)进行引脚绑定。
从 附 录 “ 表 4-1 拨 动 开 关 引 脚 配 置 ” 中 找 到 输 入 的 三 个 开 关
SW0,SW1,SW2,再找到对应的“FPGA引脚号”。如图:

在附录的表 4-3 中查找到 LED 的引脚配置

assignments→pin planner,在弹出的绑定窗口中填入以下信息

绑定之后再进行一次编译,之后就可以下载到硬件测试了。

②硬件下载
连接开发板,点击软件工具栏上的按钮

点击按钮“hardware setup…”,然后在弹出的对话框中选择“USB blaster”,再点击“ok”

如下操作

在做这里的学习之前,需要先把Modelsim SE 安装好,Quartus-II及其固件库等,这个实验本身并不复杂,但是在做的过程中会有很多小的地方报错,按步骤一步一步来,否则很容易出错。一开始不是很理解全加半加这些概念,但是在全加器仿真这里,因为需要用到上一步的半价器,突然就明白了这两个概念,两个半加器组成全加器(我可太笨了呜呜)。
这两篇写得非常仔细,强烈推荐,我之前错了好多次,后面跟着这个做一下就成了。
QuartusⅡ 13.1 安装
Modelsim SE 安装
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现
遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定
TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是
文章目录一、项目场景二、基本模块原理与调试方法分析——信源部分:三、信号处理部分和显示部分:四、基本的通信链路搭建:四、特殊模块:interpretedMATLABfunction:五、总结和坑点提醒一、项目场景 最近一个任务是使用simulink搭建一个MIMO串扰消除的链路,并用实际收到的数据进行测试,在搭建的过程中也遇到了不少的问题(当然这比vivado里面的debug好不知道多少倍)。准备趁着这个机会,先以一个很基本的通信链路对simulink基础和相关的debug方法进行总结。 在本篇中,主要记录simulink的基本原理和基本的SISO通信传输链路(QPSK方式),计划在下篇记
目录一、ESP32简单介绍二、ESP32Wi-Fi模块介绍三、ESP32Wi-Fi编程模型四、ESP32Wi-Fi事件处理流程 五、ESP32Wi-Fi开发环境六、ESP32Wi-Fi具体代码七、ESP32Wi-Fi代码解读6.1主程序app_main7.2自定义代码wifi_init_sta()八、ESP32Wi-Fi连接验证8.1测试方法8.2服务器模拟工具sscom58.3测试代码8.4测试结果前言为了开发一款亚马逊物联网产品,开始入手ESP32模块。为了能够记录自己的学习过程,特记录如下操作过程。一、ESP32简单介绍ESP32是一套Wi-Fi(2.4GHz)和蓝牙(4.2)双模解决方
出于好奇,为什么在注入(inject)/归约方法中将累加器称为memo?它的命名背后有什么背景/历史吗?它实际上是指“备忘录”还是备忘录代表什么?http://ruby-doc.org/core-2.0/Enumerable.html#method-i-injecthttp://ruby-doc.org/core-2.0/Enumerable.html#method-i-reduce 最佳答案 “memo”表示在内存中,注入(inject)在整个迭代过程中使用来保存中间对象状态,以便在下一次迭代中使用它。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我使用PHP的时间太长了,对它感到厌倦了。我也想学习一门新语言。我一直在使用Ruby并且喜欢它。我必须在Rails和Sinatra之间做出选择,那么您会推荐哪一个?Sinatra真的不能用来构建复杂的应用程序,它只能用于简单的应用程序吗?