FPGA VHDL文本编辑器设计8-3优先编码器并构成16-4优先编码器

这篇具有很好参考价值的文章主要介绍了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 
begin
	process(I,S) 
	begin
		if(S='0')then --低电平有效 
		if(I(7)='0')    then C<='0';B<='0';A<='0';Ys<='1'; Yex<='0';-----01111111 输出 000
		elsif(I(6)='0') then C<='0';B<='0';A<='1';Ys<='1'; Yex<='0';-----x0111111 输出 001
		elsif(I(5)='0') then C<='0';B<='1';A<='0';Ys<='1'; Yex<='0';-----xx011111 输出 010
		elsif(I(4)='0') then C<='0';B<='1';A<='1';Ys<='1'; Yex<='0';-----xxx01111 输出 011
		elsif(I(3)='0') then C<='1';B<='0';A<='0';Ys<='1'; Yex<='0';-----xxxx0111 输出 100
		elsif(I(2)='0') then C<='1';B<='0';A<='1';Ys<='1'; Yex<='0';-----xxxxx011 输出 101
		elsif(I(1)='0') then C<='1';B<='1';A<='0';Ys<='1'; Yex<='0';-----xxxxxx01 输出 110
		elsif(I(0)='0') then C<='1';B<='1';A<='1';Ys<='1'; Yex<='0';-----xxxxxxx0 输出 111
		else A<='1';B<='1';C<='1';Ys<='0'; Yex<='1';---------------------其他输入均输出 111
		end if;
	else
		A<='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 IS
	PORT(a:IN STD_LOGIC;
		f:OUT STD_LOGIC);
END not_gate;
ARCHITECTURE not_gate_behavior OF not_gate IS
BEGIN
	f<= 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

 文章来源地址https://www.toymoban.com/news/detail-504394.html

到了这里,关于FPGA VHDL文本编辑器设计8-3优先编码器并构成16-4优先编码器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vim文本编辑器

    目录 一、Vim文本编辑器   1.1、什么是Vim文本编辑器 1.2、Vim文本编辑器基本格式 1.3、Vim的三种模式及切换 ​二、命令模式 2.1、Vim的进入与退出 2.2、命令模式下光标跳转的快捷键 2.3、常用命令集合 三、编辑模式 四、末行模式 Linux 系统中“一切皆文件”,因此当我们要更改

    2024年02月10日
    浏览(46)
  • 富文本编辑器

    啥是富文本编辑器,就是下面这个东西: 1.那这玩意儿怎么安装和配置: 2. 通过(在终端里输入)  npm install vue-quill-editor --save  安装 3.具体的在项目里的配置过程可以看最新的官方文档vue-quill-editor · Quill官方中文文档 · 看云 4.这里先简单说下怎么配置,首先在main里输入:

    2024年02月10日
    浏览(42)
  • 【Electron】富文本编辑器之文本粘贴

    由于这个问题导致,从其他地方复制来的内容 粘贴发送之后都会多一个 换行 在发送的时候如果直接,发送innerHTML 就 可以解决 Electron h5 Andriod 都没问题,但是 公司的 IOS 端 不支持,且不提供支持(做不了。)。 于是,继续想办法。 把单纯的富文本插入操作,改一下,只粘

    2024年02月03日
    浏览(34)
  • 15 文本编辑器vim

            如果file.txt就是修改这个文件,如果不存在就是新建一个文件。          使用vim建完文件后,会自动进入文件中。          底部要是显示插入,是编辑模式;         按esc,底部要是空白的,则是进入命令模式,可以输入一些快捷键进行操作,比如说

    2024年02月15日
    浏览(44)
  • 简版的富文本编辑器、VUE+ElementUI 富文本编辑器 element ui富文本编辑器的使用(quill-editor) 不好用你来打我!全网醉简单!要复杂的别来!

    实现效果   1.安装插件 npm install vue-quill-editor --save 2.安装成功后在package.json中查看 3.在main.js中全局引入插件 4.页面实现 感谢老哥: ElementUI生成富文本编辑器 https://blog.csdn.net/keplerm/article/details/123379511?spm=1001.2101.3001.6650.9utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCom

    2024年02月16日
    浏览(55)
  • 八、vim高级文本编辑器

    vim是vi的增强版,由vim-enhanced软件包提供。 vim具有vi不具备的特性eg:命令语法的高亮 vim是一个默认的文本编辑器来进行使用,在众多的Linux发行版中均被内置,成为Linux主流的文本编辑器。 gvim:vim的图形化版本 提供在vim-x11包里、 1、vim的工作模式 命令模式:打开文件进入命

    2024年02月05日
    浏览(38)
  • Linux文本编辑器-vim

    目录 前言 Vim三种模式 打开方式 命令模式 插入模式 可视模式 保存和退出 Vim是一个功能丰富且强大的文本编辑器,被广泛用于Linux系统。它是Vi的增强版本,提供了更多的功能和改进,同时可以通过插件扩展其功能; 「命令模式」:可以进行删除、复制、粘贴等快捷操作。

    2024年02月15日
    浏览(50)
  • vim文本编辑器,常用命令

    目录 1、常用模式 2、基本移动光标 3、插入和替换文本 4、删除和复制文本 5、搜索和替换 6、保存和退出 Vim是一款功能强大的文本编辑器,在Linux系统中被广泛使用。它提供了丰富的编辑和操作功能,适用于编程、文件编辑、配置文件修改等各种任务。 下面是对Vim常用场景详

    2024年01月16日
    浏览(42)
  • DAY 35 sed文本编辑器

    文本三剑客:都是按行读取后处理。 grep 过滤行内容 awk 过滤字段 sed 过滤行内容;修改行内容 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存

    2023年04月19日
    浏览(32)
  • android 富文本编辑器有哪些

    android 富文本编辑器有哪些 有许多优秀的开源富文本编辑器插件可用于Android平台,下面列举几个常用的: RichEditorView:这是一个基于Web技术的富文本编辑器插件,有多种编辑功能与选项。 Android Rich Text Editor:这是一个轻量级的富文本编辑器插件,支持加粗、斜体、下划线等

    2024年02月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包