位拆分与运算

位拆分与运算

题目描述
现在输入了一个压缩的16位数据,实际上包含了四个数据[3:0][7:4][11:8][15:12]
按照sel选择输出四个数据的相加结果,并输出valid_out信号(在不输出时候拉低)
0:输出[3:0]+[7:4]
1:输出[3:0]+[11:8]
2:输出[3:0]+[15:12]
信号示意图
在这里插入图片描述
波形示意图
在这里插入图片描述

`timescale 1ns/1nsmodule data_cal(
input clk,
input rst,
input [15:0]d,
input [1:0]sel,output [4:0]out,
output validout
);
//*************code***********//reg [4:0] out_reg;reg validout_reg;reg [15:0]d_reg;always@(posedge clk or negedge rst)beginif(!rst)begind_reg <= 16'b0;out_reg <= 5'b0;validout_reg <= 1'b0;endelsebegincase(sel)2'b00:begind_reg <= d;out_reg <= 5'b0;validout_reg <= 1'b0;end2'b01:beginout_reg <= d_reg[3:0] + d_reg[7:4];validout_reg <= 1'b1;end2'b10:beginout_reg <= d_reg[3:0] + d_reg[11:8];validout_reg <= 1'b1;end2'b11:beginout_reg <= d_reg[3:0] + d_reg[15:12];validout_reg <= 1'b1;enddefault:beginout_reg <= 5'b0;validout_reg <= 1'b0;endendcase  endend
assign out = out_reg;
assign validout = validout_reg;
//*************code***********//
endmodule

知识点
对当前一个数进行多种不同的运算时,需要在默认情况下对该数进行储存,然后使用储存的值进行运算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

得意而忘乎形:谈葛水平的水墨画

不知道葛水平早年学过画没有&#xff0c;只知道她搞过戏曲&#xff0c;好像也有过舞台表演的经验。现在主要写小说&#xff0c;成绩斐然&#xff0c;创作之余画水墨。贾平凹看了她的画后说&#xff1a;“每个人都有绘画潜质&#xff0c;只是大与小和开发与不开发。”这话有理。…

Eclipse安装Perl插件

http://www.cnblogs.com/emanlee/archive/2012/08/11/2633701.html Eclipse安装Perl EPIC插件,在Eclipse中开发Perl项目 前提&#xff1a; 已经安装了 Eclipse&#xff0c;Java&#xff0c;Perl(例如 ActivePerl)。 步骤&#xff1a; 启动Eclipse&#xff0c;Eclipse中&#x…

风鬣霜蹄马王出

今年夏天&#xff0c;在内蒙古莱德马业繁殖基地的母马放养草场,我看到一群特殊的马点缀在绿色的草原之中。它们的颜色令我大开眼界&#xff1a;黑、白、枣红、黄骠、铁青……远远望去&#xff0c;五颜六色&#xff0c;神态各异。莱德马业的负责人朱方清告诉我&#xff0c;这里除…

多功能数据处理器

多功能数据处理器 题目描述 根据指示信号select&#xff0c;对输入信号a,b实现不同的运算。输入信号a,b为8bit有符号数&#xff0c;当select信号为0&#xff0c;输出a&#xff1b;当select信号为1,输出b&#xff1b;当select信号为2&#xff0c;输出ab;当select信号为3&#x…

Live Migrate 操作 - 每天5分钟玩转 OpenStack(42)

Migrate 操作会先将 instance 停掉&#xff0c;也就是所谓的“冷迁移”。而 Live Migrate 是“热迁移”&#xff0c;也叫“在线迁移”&#xff0c;instance不会停机。 Live Migrate 分两种&#xff1a; 源和目标节点没有共享存储&#xff0c;instance 在迁移的时候需要将其镜像…

计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)

Rebuild 可以恢复损坏的 instance。 那如果是宿主机坏了怎么办呢&#xff1f; 比如硬件故障或者断电造成整台计算节点无法工作&#xff0c;该节点上运行的 instance 如何恢复呢&#xff1f; 用 Shelve 或者 Migrate 可不可以&#xff1f; 很不幸&#xff0c;这两个操作都要求 i…

eclipse 全屏插件

eclipse-fullscreen 插件下载链接&#xff1a; http://code.google.com/p/eclipse-fullscreen/&#xff0c; 安装方式&#xff1a;将下载下来的压缩文件解压&#xff0c;将里边的jar包放到eclipse目录下的plugin文件夹中&#xff0c;重启eclipse即可。 在Fedora & Windows …

使用子模块实现三输入数的大小比较

使用子模块实现三输入数的大小比较 题目描述 在数字芯片设计中&#xff0c;通常把完成特定功能且相对独立的代码编写成子模块。在需要的时候再在主模块中例化使用&#xff0c;以提高代码的可复用性和设计的层次性&#xff0c;方便后续的修改。 请编写一个子模块&#xff0c;将…

寻求神谕的词语:谈海日寒诗集《空山集》

诗人杨炼曾用两个“他者”概括了当代中国诗歌所面对的两个检验体系&#xff1a;“背后是中文古典诗歌杰作”&#xff0c;“面前是古今世界文学精品”1。他提出&#xff1a;“全球化语境中&#xff0c;我们能否找到——创造一种更深也更新的标准来判断作品&#xff1f;去建立那个…

批量给Linux服务器推送文件、执行指令的工具推荐 - wgcloud-bach-agent

wgcloud-bach-agent是wgcloud官方开发的一个工具&#xff0c;具有批量给Linux主机上传文件&#xff0c;执行指令的功能 当我们有一个文件&#xff0c;需要上传到很多主机&#xff0c;或需要在很多主机执行同一条指令的时候&#xff0c;这个工具就非常实用了&#xff0c;可以极…

Neutron Router 工作原理 - 每天5分钟玩转 OpenStack(142)

上一节我们创建了 router 连通了 vlan100 和 vlan101&#xff0c; 今天分析router是如何工作的。 首先查看控制节点的网络结构发生了什么变化&#xff1a; br-int 上多了两个 port: 1. qr-d295b258-45&#xff0c;从命名上可以推断该 interface 对应 router_100_101 的 interf…

访问 Neutron 外部网络 - 每天5分钟玩转 OpenStack(143)

前面我们学习了位于不同 Neutron subnet 的 instance 可以通过 router 通信&#xff0c;今天开始讨论 instance 如何访问外部网络。 这里的外部网络是指的租户网络以外的网络。租户网络是由 Neutron 创建和维护的网络。 外部网络不由 Neutron 创建。如果是私有云&#xff0c;外…

使用函数实现数据大小端转换

使用函数实现数据大小端转换 题目描述 在数字芯片设计中&#xff0c;经常把实现特定功能的模块编写成函数&#xff0c;在需要的时候再在主模块中调用&#xff0c;以提高代码的复用性和提高设计的层次&#xff0c;分别后续的修改。 请用函数实现一个4bit数据大小端转换的功能。…

创建 OVS 外部网络 ext_net - 每天5分钟玩转 OpenStack(144)

上一节完成连接外网的配置准备工作&#xff0c;今天就来创建 OVS 外部网络 ext_net。 进入 Admin -> Networks 菜单&#xff0c;点击 “Create Network” 按钮。 显示创建页面。 Provider Network Type 选择 “Flat”。 Network 填写 “external”&#xff0c;与 ml2_conf.…

Linux学习之zImage内核镜像解压过程详解

zImage内核镜像解压过程详解 收藏 zImage内核镜像解压过程详解 作者&#xff1a; 刘洪涛&#xff0c;华清远见嵌入式培训中心 讲师。 本文以linux-2.6.14内核在S3C2410平台上运行为例&#xff0c;讲解内核的解压过程。 内核编译完成后会生成zImage内核镜像文件。关于…

4位数值比较器电路

4位数值比较器电路 题目描述&#xff1a;使用门级描述方式&#xff0c;实现4位数值比较器 某4位数值比较器的功能如下表 timescale 1ns/1nsmodule comparator_4(input [3:0] A ,input [3:0] B ,output wire Y2 , //A>Boutput wire Y1 …

将 ext_net 连接到 router - 每天5分钟玩转 OpenStack(145)

上一节完我们创建了外部网络 ext_net&#xff0c;接下来需要将其连接到 Neutron 的虚拟路由器&#xff0c;这样 instance 才能访问外网。 点击菜单 Project -> Network -> Routers 进入 router 列表。 点击 router_100_101 的 “Set Gateway” 按钮。 在 “External Netw…

Xilinx_ISE和ModelSim的联合使用方法 / 从Xilinx ISE 14.7启动ModelSim时遇到的问题

解决方法&#xff1a; 前提是安装了 xilinx ise14.7 和modelsim se 10.1a 1〉从Windows的Start Menu开始&#xff0c;Xilinx ISE Design Suite 14.7 —〉EDK —〉Tools —〉Compile Simulation Libraries 按照提示编译好library&#xff0c;编译的library输出目录是&#xff…

ML2 配置 OVS VxLAN - 每天5分钟玩转 OpenStack(146)

今天我们开始学习 OVS 如何实现 Neutron VxLAN&#xff0c;关于 VxLAN 的概念以及 Linux Bridge 实现&#xff0c;大家可以参考前面相关章节。 Open vSwitch 支持 VXLAN 和 GRE 这两种 overlay network。因为 OpenStack 对于 VXLAN 与 GRE 配置和实现差别不大&#xff0c;这里只…

4bit超前进位加法器电路

4bit超前进位加法器电路 题目描述 采用门级描述方式&#xff0c;实现此4bit超前进位加法器&#xff0c;接口电路如下&#xff1a; timescale 1ns/1nsmodule lca_4(input [3:0] A_in ,input [3:0] B_in ,input C_1 ,output wire CO …