Case中default的综合结果

ops/2024/10/11 13:23:49/

在使用case语句时,不完备的case语句会导致Vivado综合时推断出锁存器。下面通过实例来详细看看各种情况下的综合结果:

1.完备的case语句

下述的verilog对应的电路结构是一个8选一的多路复用器:

module case_test(input [2:0]sel,input data0,input data1,input data2,input data3,input data4,input data5,input data6,input data7,output reg data_out);always@(*)
begincase(sel)3'b000:data_out<=data0;3'b001:data_out<=data1;3'b010:data_out<=data2;3'b011:data_out<=data3;3'b100:data_out<=data4;3'b101:data_out<=data5;3'b110:data_out<=data6;3'b111:data_out<=data7;default:data_out<=data_out;endcase
endendmodule

在这里插入图片描述

综合结果如下:

在这里插入图片描述

对于上述的综合结果,每四个输入数据以及sel对应到一个LUT6,之后将二者的输出通过sel[2]控制的选择器进行选择,在完备描述的情况下电路中不会有锁存器。

2.不完备case语句

下面是一个不完备的case语句,只对四种情况进行描述,其余用default描述:

module case_test(input [2:0]sel,input data0,input data1,input data2,input data3,input data4,input data5,input data6,input data7,output reg data_out);always@(*)
begincase(sel)3'b000:data_out<=data0;3'b001:data_out<=data1;3'b010:data_out<=data2;3'b011:data_out<=data3;default:data_out<=data_out;endcase
endendmodule

对应的电路结构和综合结果如下图:

在这里插入图片描述

在这里插入图片描述

我们可以发现,对于default的四种情况,四个输入数据线未连接,将其余四种情况的数据线接入LUT,之后将LUT的输出连接到锁存器的数据输入端D,而将sel[2]连接到使能端,因为G为低电平有效,所以只有到sel[2]为0时锁存器才能将输入端的数据送到输出端,而在sel[2]为1时,Q端保持不变,锁存数据。


http://www.ppmy.cn/ops/34542.html

相关文章

公众号图片尺寸怎么调整?图片在线处理的方法介绍

平时我们接触到的图片文件有非常多的格式&#xff0c;而且收到的尺寸各不相同&#xff0c;这种时候就要我们修改图片尺寸大小了&#xff0c;这样做首先可以为我们节省存储空间&#xff0c;还可以让图片的加载速度变快&#xff0c;分享出去的图片也可以更快进行查看&#xff0c;…

53. 【Android教程】Socket 网络接口

Socket 网络接口 大家在学习计算机网络的时候一定学习过 TCP/IP 协议以及最经典的 OSI 七层结构&#xff0c;简单的回忆一下这 7 层结构&#xff1a; 从下到上依次是&#xff1a; 物理层数据链路层互联层网络层会话层表示层应用层 TCP/IP 协议对这 7 层了做一点精简&#xff…

Netty的一个入门小程序

文章目录 1. 服务端代码2. 客户端代码3. 执行流程分析 1. 服务端代码 Slf4j public class Server {public static void main(String[] args) {//启动器&#xff0c;负责组装netty组件&#xff0c;启动服务器new ServerBootstrap()//BoosEventLoop&#xff0c;WorkerEventLoop&…

Go 语言 ORM 框架之 xorm

1、xorm 1.1、xorm 简介 xorm 是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。 特性 支持 struct 和数据库表之间的灵活映射&#xff0c;并支持自动同步事务支持同时支持原始SQL语句和ORM操作的混合执行使用连写来简化调用支持使用ID, In, Where, Limit,…

用 Go map 要注意这个细节,避免依赖他!

有的小伙伴没留意过 Go map 输出、遍历顺序&#xff0c;以为它是稳定的有序的&#xff0c;会在业务程序中直接依赖这个结果集顺序&#xff0c;结果栽了个大跟头&#xff0c;吃了线上 BUG。 有的小伙伴知道是无序的&#xff0c;但却不知道为什么,有的却理解错误&#xff1f; 今…

23种设计模式

一、创建型模式&#xff1a; 1.工厂方法模式&#xff1a;定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪个类。 2.抽象工厂模式&#xff1a;提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定具体类。 3.单例模式&#xff1a;确保一个类只有一个…

线下线上陪玩APP小程序H5搭建设计-源码交付,支持二开!

一、电竞陪玩系统APP的概念 电竞陪玩系统APP是一种专门为电子竞技玩家提供服务的平台。通过这个平台&#xff0c;玩家可以找到专业的电竞陪玩者&#xff0c;他们可以帮助玩家提升游戏技能&#xff0c;提供游戏策略建议&#xff0c;甚至陪伴玩家一起进行游戏。这种服务不仅可以提…

Spring中的声明式事务详解

1 事务概述 在JavaEE企业级开发的应用领域&#xff0c;为了保证数据的完整性和一致性&#xff0c;必须引入数据库事务的概念&#xff0c;所以事务管理是企业级应用程序开发中必不可少的技术。 事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作&…