FPGA VHDL文本编辑器设计8-3优先编码器并构成16-4优先编码器
题目要求:
在文本编辑器中使用VHDL语言设计一个优先8-3编码器。在另一个新实体中将其定义成一个元件,通过元件例化的方式设计一个16-4优先编码器。文件命名为***164.vhd,器件设定为EP3C16F256C8。要求输入节点命名为d0…d15,低电平有效;输出节点命为A、B、C、D。进行波形仿真,验证功能正确。分析其出现竞争冒险的可能性。
文末有PDF格式的文件进行图文描述,并包含源文件
一、8-3线优先编码器代码
library ieee;
use ieee.std_logic_1164.all;
entity byl8_3 is
port(Yex,C,B,A,Ys:out std_logic; --四个输出端I:std_logic_vector(7 downto 0);--八个输入S:in std_logic); --使能端
end entity byl8_3;
architecture BEHAV of byl8_3 is
beginprocess(I,S) beginif(S='0')then --低电平有效 if(I(7)='0') then C<='0';B<='0';A<='0';Ys<='1'; Yex<='0';-----01111111 输出 000elsif(I(6)='0') then C<='0';B<='0';A<='1';Ys<='1'; Yex<='0';-----x0111111 输出 001elsif(I(5)='0') then C<='0';B<='1';A<='0';Ys<='1'; Yex<='0';-----xx011111 输出 010elsif(I(4)='0') then C<='0';B<='1';A<='1';Ys<='1'; Yex<='0';-----xxx01111 输出 011elsif(I(3)='0') then C<='1';B<='0';A<='0';Ys<='1'; Yex<='0';-----xxxx0111 输出 100elsif(I(2)='0') then C<='1';B<='0';A<='1';Ys<='1'; Yex<='0';-----xxxxx011 输出 101elsif(I(1)='0') then C<='1';B<='1';A<='0';Ys<='1'; Yex<='0';-----xxxxxx01 输出 110elsif(I(0)='0') then C<='1';B<='1';A<='1';Ys<='1'; Yex<='0';-----xxxxxxx0 输出 111else A<='1';B<='1';C<='1';Ys<='0'; Yex<='1';---------------------其他输入均输出 111end if;elseA<='1';B<='1';C<='1';Ys<='1'; Yex<='1'; -------------------------使能端无效 end if;end process;
end BEHAV;
二、与非门
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY yufei IS
PORT(a,b:IN STD_LOGIC;y:OUT STD_LOGIC);
END;
ARCHITECTURE behaver OF yufei IS
BEGIN
y <= a NAND b;
END behaver;
三、非门
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY not_gate ISPORT(a:IN STD_LOGIC;f:OUT STD_LOGIC);
END not_gate;
ARCHITECTURE not_gate_behavior OF not_gate IS
BEGINf<= NOT a;
END not_gate_behavior;
三、使用元件例化语句构成的16-4优先编码器
library ieee;
use ieee.std_logic_1164.all;
entity byl164 is------------------------------16-4译码器
port (DO,C,B,A :out std_logic;-------------四个输出端d:std_logic_vector( 0 TO 15);------------------16个输入端口SI:in std_logic); --使能端
end entity byl164;
architecture BEHAV of byl164 is -----------------------------------------------8-3译码器
COMPONENT byl8_3
port(Yex,C,B,A,Ys:out std_logic; --四个输出端I:std_logic_vector(7 downto 0);--八个输入S:in std_logic--------------------使能端 );
END COMPONENT;-----------------------------------------------2输入的与非门
comPONENT yufei
PORT(a,b:IN STD_LOGIC;y:OUT STD_LOGIC);END COMPONENT;
--------------------------------------------非门
comPONENT not_gate
PORT(a:IN STD_LOGIC;f:OUT STD_LOGIC);END COMPONENT;
--------------------------------------------所使用到的中间变量
SIGNAL O,P,Q,R,T,U,V,Yex1,Yex2,YS2:STD_LOGIC;begin--------------------------------------连接元器件构成16-4的译码器U1:byl8_3 port map(S=>SI,I=>d(8 TO 15),Ys=>O,Yex=>Yex1,A=>P,B=>Q,C=>R);--------第一片8-3译码器的连接
U2:byl8_3 port map(S=>O,I=>d(0 TO 7),Ys=>YS2,Yex=>Yex2,A=>T,B=>U,C=>V);---------第二片8-3译码器的连接
n1:yufei port map(a=>T,b=>P,y=>A);------------------------------------与非门的连接
n2:yufei port map(a=>U,b=>Q,y=>B);
n3:yufei port map(a=>V,b=>R,y=>C);
n4:not_gate port map(Yex1,DO);-------------------------------------------或门的连接end BEHAV;
链接:https://pan.baidu.com/s/1mkIgAZVL3zF7X8D0AlqLNg
提取码:m470
FPGA VHDL文本编辑器设计8-3优先编码器并构成16-4优先编码器相关推荐
- c语言课程设计文本编辑器实验报告6,C课程设计简易文本编辑器.doc
C课程设计简易文本编辑器 目录 第一章 课程设计目的和要求1 1.1课程设计的目1 1.2 基本要求1 第二章 课程设计任务内容2 2.1 设计背景2 2.2简易文本编辑器设计内容2 第三章 详细设计 ...
- linux 文本编辑器_Linux排名前7位的最佳文本编辑器
linux 文本编辑器 Text editors play a major role for Linux users. Whether it is setting up user instructio ...
- [译] 为数字优先新闻编辑室开发文本编辑器
原文地址:Building a Text Editor for a Digital-First Newsroom 原文作者:Sophia Ciocca 译文出自:掘金翻译计划 本文永久链接:githu ...
- 文本编辑器中替换对话框的设计与实现
文章目录 1 文本编辑器中替换对话框的设计与实现 1 文本编辑器中替换对话框的设计与实现 替换对话框需求分析: 可复用软件部分. 查找文本框中的指定字符串. 替换单个指定字符串. 替换所有指定字符串. ...
- gtk设计简单的文本编辑器(1)
2019独角兽企业重金招聘Python工程师标准>>> 这是在windows下用gtk+glade+codeblocks设计的一个简单的文本编辑器. 功能:在文本视图内编辑文本后,在 ...
- python tkinter.Text 高级用法 -- 设计功能齐全的文本编辑器
众所周知, tkinter的Text文本框功能强大, Python自带的IDLE编辑器也是用tkinter编写的.这里作者也用tkinter的Text文本框等控件, 设计功能较齐全的文本编辑器程序. ...
- 基于 FPGA 的 UART 控制器设计(VHDL)(下)
今天给大侠带来基于FPGA的 UART 控制器设计(VHDL)(下),由于篇幅较长,分三篇.今天带来第三篇,下篇,使用 FPGA 实现 UART.话不多说,上货. 之前有关于 Veriliog HDL ...
- 三甲:在线富文本编辑器的架构设计及实践
12月5日, 极客邦(InfoQ)在深圳举办 GMTC 大会,蚂蚁集团语雀编辑器技术同学三甲受邀参加大会并分享<在线富文本编辑器的架构设计及实践>,以下内容是根据现场演讲收集整理. 大家下 ...
- LeetCode 2296. 设计一个文本编辑器(双栈)
文章目录 1. 题目 2. 解题 1. 题目 请你设计一个带光标的文本编辑器,它可以实现以下功能: 添加:在光标所在处添加文本. 删除:在光标所在处删除文本(模拟键盘的删除键). 移动:将光标往左或者 ...
最新文章
- [转] GMT、UTC与24时区 等时间概念
- 虚拟机常用的内存查看与分析工具
- Exchange 2010 EMC 删除 DisconnectedMailbox
- mysql中的乐观锁_MySQL中悲观锁和乐观锁到底是什么?
- 生成word_Word生成员工信息表,每一页生成独立文件,还能自动命名
- BAT教程 :第五节(set命令详解)
- 怎样才能办理信用卡成功?
- 动态创建Fastreport
- Postman下载与安装操作步骤【超详细】
- 蓝牙HC05主从设置连接说明
- LaTeX---字符操作
- 码畜 码奴 码农 IT民工和IT其他工种的划分定义
- matlab三个商人三个随从,数学建模 商人过河
- Openpose Windows10环境并且是3系显卡+ Unity 环境部署
- 信源编码技术作业(1)——使用Audacity软件绘制清浊音频谱图并进行分析
- msf之msfvenom的使用—使用Kali渗透工具生成远控木马
- Qt 如何实现的 Meta Object
- Python实现三轴加速度计步功能
- Linux系统自动化安装(二)
- Data Structure