编码器设计

  • 任务描述
  • 相关知识
    • 3位二进制优先编码器的功能
    • always语句
    • 事件时序控制
  • 编程要求
  • 源代码

任务描述

设计一个3位二进制优先编码器。运用Verilog HDL进行设计,完善3位二进制优先编码器的功能描述风格代码,具备组合逻辑电路的设计仿真和测试的能力。

相关知识

  1. 3位二进制优先编码器的功能;
  2. 如何用always语句、if语句进行逻辑功能的描述。

3位二进制优先编码器的功能

优先编码器允许同时输入两个以上编码信号,并按照事先规定的优先级别,对优先权最高的一个输入信号进行编码,编码器框图如下所示。

always语句

通俗的理解,always就是:一直运行。
always过程从关键字always开始,可以连续多次运行,当过程的最后一行代码执行完成后,再次从第一行代码开始执行。
一个模块中可以包含多个过程,各个过程相互之间是并发执行的。不过,过程不能够嵌套使用。如果过程中有多个语句,则需要使用关键字begin、end或fork、join将它们组成一个代码块。这两种关键字组合代表着顺序代码块和并行代码块。

事件时序控制

事件时序控制的意思是,如果指定的事件发生,则代码被触发执行。它的关键字为@,后面可以加变量或者事件名称。例如:

@(a or b) y = ~a; //当a或b其中任意一个变量发生变化时,则将a非赋值给y
@(posedge clk) y = 1; //在变量clk的上升沿,将1赋值给y

编程要求

根据真值表,设计一个输入输出均为高电平有效的3位二进制优先编码器。
I0~I7(八种状态)是八个编码信号输入端, I7的优先权最高,I0的优先权最低;Y0、Y1、Y2是三位二进制代码输出端。
输入输出均为高电平1有效的3位二进制优先编码器真值表如下所示。

源代码

测试平台:EduCoder

//设计一个输入输出均为高电平有效的3位二进制优先编码器
//I[7]的优先权最高,I[0]的优先权最低
module encoder8_3_test(I,Y);
input [7:0] I;
output [2:0] Y;
// 请在下面添加代码,完成设计任务
/* Begin */
wire[7:0] I;
reg [2:0] Y;
always@(*)
begin
if(I[7]==1) Y = 3'b111;else if(I[6]==1) Y =3'b110;else if(I[5]==1) Y =3'b101;else if(I[4]==1) Y =3'b100;else if(I[3]==1) Y =3'b011;else if(I[2]==1) Y =3'b010;else if(I[1]==1) Y =3'b001;else if(I[0]==1) Y =3'b000;else Y = 3'b000;
end
/* End */
endmodule

觉得有帮助的可以点个赞再走哦!!

编码器设计——Verilog HDL语言相关推荐

  1. 译码器设计——Verilog HDL语言

    译码器设计 任务描述 相关知识 3线-8线译码器的功能 always语句 事件时序控制 case语句 编程要求 源代码 任务描述 设计一个3线-8线译码器.运用Verilog HDL进行设计,完善译码 ...

  2. 有限状态机设计实例之空调控制器(Verilog HDL语言描述)(仿真与综合)(附用Edraw(亿图)画状态转移图)

    目录 前言 空调控制器 简介 状态转移图如下: Verilog HDL语言描述 测试文件 仿真图 ISE综合 RTL Schematic Technology Schematic 前言 关于工具的使用 ...

  3. 模6计数器以及模10计数器(Verilog HDL语言设计)(Modelsim仿真与ISE综合)

    目录 前言 模6计数器 Verilog HDL语言描述 测试文件 仿真电路图 RTL Schematic Technology Schematic 模10计数器 Verilog HDL语言描述 测试文 ...

  4. spwm控制算法c语言实现,采用Verilog HDL语言与DDS技术实现SPWM控制算法的FPGA设计

    其部分程序代码如下: case(state1) A: //初始化状态 begin ADDRES1<=addr1; //时分复用第一路地址 READ_EN<=1′b1; //读使能开 NEX ...

  5. 模24的8421BCD码计数器(Verilog HDL语言描述)(仿真与综合)

    目录 前言 原理 Verilog HDL程序设计 测试代码 仿真波形图 ISE综合后 RTL Schematic Technology Schematic 前言 本博文用Verilog HDL语言描述 ...

  6. 级联模60计数器(Verilog HDL语言描述)(仿真与综合)

    目录 前言 模60计数器 Verilog HDL语言描述 测试文件 仿真波形 RTL Schematic Technology Schematic 前言 看这篇文章前,推荐先看看模10计数器和模6计数 ...

  7. 通过仿真和综合认识T触发器(Verilog HDL语言描述T触发器)

    这个系列的博文已经写过了两篇,分别是通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)和通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器),分析的方法是完全并行 ...

  8. 通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器)

    上篇博文写了用仿真和综合来认识D触发器(通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)),这篇博文采用完全并行的方式来认识JK触发器. 让我们迅速进入正题吧. J-K触发器的Ve ...

  9. Verilog HDL 语言基础语法

    模块的结构 (1)Verilog的基本设计单元是"模块"(block). (2)一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能. (3)每个Verilog程序包括4个主 ...

最新文章

  1. 如何优雅地从四个方面加深对深度学习的理解
  2. ECCV2018 Oral论文集
  3. jdk1.8,java8,安装包阿里云-百度云下载(windos,mac,linux)
  4. ichart添加click事件
  5. 迅雷手机版苹果版_iOS迅雷2019内测版重磅发布,果粉们珍藏好这份详细下载教程...
  6. NO JVM installation found. please install a 64-bit JDK,解决方法   Error launching android studio   NO J
  7. 沈阳市中考计算机考试时间,2017沈阳市中考考试科目及时间
  8. Java代码画星空月亮
  9. 台式电脑主机 前面音箱设置
  10. 利用计算机对多媒体进行综合处理,多媒体技术复习题及答案
  11. 路由器、交换机的基本配置 1
  12. 【拓扑排序+dp】Hzy's Rabbit Candy
  13. 银行卡正则,验证银行卡是否有效
  14. 射影几何笔记4:公理和证明
  15. leangoo大讲堂—北京站
  16. delphi里面奇奇怪怪的函数真多。。
  17. python统计代码行数_python实现统计代码行数的方法
  18. 组播路由协议基础——PIM-SM BSR工作机制
  19. 基于java的微信支付之JSAPI公众号充值
  20. Scalers:持续行动至少要以年为单位

热门文章

  1. 调用各地图h5页打点url及参数
  2. python matplotlib画多个图_python matplotlib模块 如何画两张图出来
  3. python代码-淘宝定时抢东西
  4. [从零学习汇编语言] -寄存器详解
  5. java超市管理论文,java超市信息管理系统的设计与实现
  6. mysql超类_在MySQL Workbench图中表示超类/子类(或超类型...
  7. Druid连接池源代码分析之四-java.lang.sql 规范
  8. FrameWork之旅 -- Activity过去的门面ActionBar
  9. python面向对象之水果超市
  10. 快速上手用Taro框架搭建一个微信小程序