首页 > 其他分享 >05-译码器

05-译码器

时间:2023-05-22 10:35:35浏览次数:26  
标签:语句 wire b0000 05 reg 译码器 out

1.译码器

  • 译码器是编码的逆过程,在编码时,每一种二进制代码都赋予了特定的含义,即都代表了一个确定的信号或者是对象;把代码状态的特定含义翻译出来的过程叫做译码,实现译码操作的电路称为译码器,或者说,译码器可以将输入二机制代码的状态翻译成输出信号,以表示其原来含义的电路
  • 译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为变量译码和显示译码两类

2.实现3-8译码器

  • 3-8译码器有3路输入,8路输出

2.1 框图和波形图



2.2 RTL

module decoder
(
  input wire in_1,
  input wire in_2,
  input wire in_3,
  output reg [8:0] out
);
 
  // 使用case语句
  // 使用if-else语句
  always@(*)
  begin
    case({in_1,in_2,in_3})
      3'b000 : out = 8'b0000_0001;
      3'b001 : out = 8'b0000_0010;
      3'b010 : out = 8'b0000_0100;
      3'b011 : out = 8'b0000_1000;
      3'b100 : out = 8'b0001_0000;
      3'b101 : out = 8'b0010_0000;
      3'b110 : out = 8'b0100_0000;  
      3'b111 : out = 8'b1000_0000;
      default : out = 8'b0000_0001;
    endcase
  end
endmodule
  • case语句和if-else语句都可以实现译码器,但是if-else语句实现有优先级,就是先后判断的顺序,而使用case语句实现则没有优先级的问题
  • 进行代码编译

2.3 Testbench

`timescale 1ns/1ns

module tb_decoder();
  reg in_1;
  reg in_2;
  reg in_3;

  wire [7:0] out;
    
  initial begin
    in_1 <= 1'b0;
    in_2 <= 1'b0;
    in_3 <= 1'b0;
  end
   
  initial begin
    $timeformat(-9,0,"ns",6);
    $monitor("@time:%t:in_1=%b,in_2=%b,in_3=%b,out=%b",$time,in_1,in_2,in_3,out);
  end 

 
  always #10 in_1 <= {$random} % 2;
  always #10 in_2 <= {$random} % 2;
  always #10 in_3 <= {$random} % 2;
  
  decoder decoder_inst(
    .in_1 (in_1),
    .in_2 (in_2),
    .in_3 (in_3),
    .out  (out)
  );
  
  
endmodule


标签:语句,wire,b0000,05,reg,译码器,out
From: https://www.cnblogs.com/Icer-newer/p/17418713.html

相关文章

  • 1105. 模型基础
    一、Django的ORM简介1.ORM系统概念:对象关系映射(ObjectRelationalMapping,简称ORM)优势:不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。2.django模型映射关系①模型类必须都写在app下的modles.py文件中②模型如果需要映射到数据库,所在的app必须被安装③一个......
  • java学习日记20230521-HashTable
    存放的键值对k-v键和值都不能为空,否则会抛出NullPointException使用方法和HashMap一致线程安全,HashMap线程不安全继承的dictionary实现了Map接口底层是一个entry数组,初始化大小为11,临界值为8,第一次扩容为23,按照自己的扩容机制,2N+1 ......
  • py之路——day12-20230521:装饰器
    作者:zb一、装饰器1、装饰器的定义:装饰器的“器”是函数的意思,即装饰器本质上是函数,用def关键字定义2、装饰器的功能:装饰其他函数,即为其他函数添加附加功能,为函数实现他们本身没有的功能3、装饰器的原则:⑴不能修改被装饰函数的源代码(有影响线上业务的风险)⑵不能修改被装饰......
  • 剑指 Offer 05. 替换空格
    剑指Offer05.替换空格</br></br>题目:请实现一个函数,把字符串s中的每个空格替换成"%20"。示例:输入:s="Wearehappy."输出:"We%20are%20happy."限制:0<=s的长度<=10000</br></br>思路1:可以通过实例化出一个新的string对象,通过对原来字符串进行遍历,将原字符......
  • 【2023.05.21】爱无能病
    当心中彻底放下那段很长很长的感情后,没想到迎来的是爱无能,期待快餐式的爱情了我知道自己是值得被爱的人,但是却感觉很难很难再喜欢上别人不断地不断地约会,短短一个月竟然约过了三个异性,见见面,逛逛街啥的我似乎很焦急把自己的第一次送出去,想这么做,或许这样我就能忘记那段很长的感......
  • 【230521-1】等腰三角形ABC终,AB=AC,AD垂直BC于D,E为AD中点,F为AC中点,DG垂直BE于G,连接GF,FD
    ......
  • 23-05-20 刷题
    练习英文描述算法88.MergeSortedArray-LeetCode【easy】classSolution{publicvoidmerge(int[]nums1,intm,int[]nums2,intn){//twopointers,initiallyi,jpointstothelastnumberofthearray(m-1,n-1)//usektorecordth......
  • C/C++程序设计课设题[2023-05-20]
    C/C++程序设计课设题[2023-05-20]ATM仿真系统-薛景背单词-叶水仙-理科实验班电信优惠套餐推荐系统的设计与实现-朱立华-通信工程多媒体文件管理及检索系统-刘林峰-广播电视工程公交路线自动化选择系统实现-张勤-测控技术与仪器基于朋友圈的商品推荐-汪云云-自动化基于数据......
  • C/C++学生宿舍管理系统[2023-05-20]
    C/C++学生宿舍管理系统[2023-05-20]课程报告任务书题目学生宿舍管理系统主要内容用C语言开发一个简单的学生宿舍管理系统。实现宿舍信息管理,用户信息管理以及住宿管理功能。【数据结构】1.宿舍信息。包括:宿舍编号、所属楼号,所属楼层、面积、床位数等。2.登陆账号信息。包括:......
  • C/C++家谱管理[2023-05-20]
    C/C++家谱管理[2023-05-20]家谱管理中国历史悠久,中华民族有五千年的文明史。从远古的神话传说时代、尧舜禹的禅让、夏商西周、东周春秋战国的百家争鸣、秦汉一统、三国战乱、魏晋南北朝的民族大融合、隋唐五代光辉灿烂的文化直到宋元明清帝制结束。五千年的历史留给我们的是无尽......