移位运算与乘法

移位运算与乘法

题目描述
已知d为一个8位数,请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效(d给出的信号的上升沿表示写入有效)
信号示意图
在这里插入图片描述
波形示意图
在这里插入图片描述

`timescale 1ns/1ns
module multi_sel(
input [7:0]d ,
input clk,
input rst,
output reg input_grant,
output reg [10:0]out
);
//*************code***********//reg[1:0] count;//计算0-3always@(posedge clk or negedge rst)beginif(!rst)count <= 0;elsecount <= count + 1;end//根据波形可以看出不能根据d的值直接给出out的值,所以先对d的值进行寄存,或者使用状态机对其进行赋值reg [7:0]d1;always@(posedge clk or negedge rst)beginif(!rst)beginout <= 11'b0;input_grant <= 1'b0;d1 <= 8'b0;endelsebegincase(count)2'b00:beginout <= d;d1 <= d;input_grant <= 1'b1;end2'b01:beginout <= d1 + {d1,1'b0};input_grant <= 1'b0;end2'b10:beginout <= d1 + {d1,1'b0}+ {d1,2'b0};input_grant <= 1'b0;end   2'b11:beginout <= {d1,3'b0};input_grant <= 1'b0;enddefault:beginout <= 11'b0;input_grant <= 1'b0;d1 <= 8'b0;endendcaseendend
//*************code***********//
endmodule

知识点
移位运算符(<<,>>)
双目运算符:两个操作数
移位可以实现无符号数的乘除法,有符号的乘法
补零
"<<"低位补零,无符号/有符号乘法
">>"高位补零,无符号数除法

拼接运算符{}
a=4’b1110;

g = {a,1’b0} = 5’b111100;//拼接->乘法
h = {a[2:0],1’b0} = 4’b1100;//拼接->乘法
i = {1’b0,a[3:1]} = 4’b0111;//拼接->无符号数除法
j = {1’b1,a[3:1]} = 4’b0111;//拼接->有符号数除法

注意:如果表达式中有一个无符号数,则所有的操作数都会被强行转换为无符号数。

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

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

相关文章

双极型数字集成电路

在双极型数字集成电路中&#xff0c;除了TTL电路以外&#xff0c;还有二极管&#xff0d;三极管逻辑(Diode-Transistor Logic&#xff0c;简称DTL)、高阈值逻辑(High Threshold Logic&#xff0c;简称HTL)、发射极耦合逻辑(Emitter Coupled Logic&#xff0c;简称ECL)和集成注入…

Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)

本节我们通过日志详细讨论 instance 的 snapshot 操作。 有时候操作系统损坏得很严重&#xff0c;通过 Rescue 操作无法修复&#xff0c;那么我们就得考虑通过备份恢复了。当然前提是我们之前对instance做过备份。 Nova 备份的操作叫 Snapshot&#xff0c;其工作原理是对 insta…

Rebuild Instance 操作详解 - 每天5分钟玩转 OpenStack(37)

上一节我们讨论了 snapshot&#xff0c;snapshot 的一个重要作用是对 instance 做备份。 如果 instance 损坏了&#xff0c;可以通过 snapshot 恢复&#xff0c;这个恢复的操作就是 Rebuild。 Rebuild 会用 snapshot 替换 instance 当前的镜像文件&#xff0c;同时保持 instanc…

突发传输模式

突发传输模式 突发传输(Burst transmission),一般也称为数据突发,其在通信领域中一般指在短时间内进行相对高带宽的数据传输。 突发传输一般表示的是两个设备之间进行数据传送的一种模式,也可将其称为突发模式下的数据传输。而突发(Burst)是指在同一行中相邻的存储单元…

Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析

Waveform Audio 驱动(Wavedev2)之&#xff1a;WAV 驱动解析 上篇文章中&#xff0c;我们模拟了WAV API。现在进入我们正在要解析的Wave 驱动的架构。我们了解一个驱动的时候&#xff0c;先不去看具体跟硬件操作相关的东西&#xff0c;而是从流程入手&#xff0c;把整个流程搞清…

Perl参考书籍

Effective Perl programming - Writing Better Pro..> Network_Programming_With_Perl.chm OReilly,.Learning.Perl.(2005),.4Ed.BBL.LotB.chm PERL语言编程.pdf Perl DBI编程.pdf …

Unshelve Instance 操作详解 - 每天5分钟玩转 OpenStack(39)

上一节我们 shelve instance 到 Glance&#xff0c;本节讨论如何通过 unshelve 操作恢复该 instance。 因为 Glance 中保存了 instance 的 image&#xff0c;unshelve 的过程其实就是通过该 image launch 一个新的 instance&#xff0c;nova-scheduler 也会调度合适的计算节点来…

位拆分与运算

位拆分与运算 题目描述 现在输入了一个压缩的16位数据&#xff0c;实际上包含了四个数据[3:0][7:4][11:8][15:12] 按照sel选择输出四个数据的相加结果&#xff0c;并输出valid_out信号&#xff08;在不输出时候拉低&#xff09; 0&#xff1a;输出[3:0][7:4] 1&#xff1a;输出…

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

不知道葛水平早年学过画没有&#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…

初识Android应用程序的五大基本组件

5 Basic Components 1. Activity 2. Service 3. Broadcast Receiver 4. Content Provider 5. Intent Activity —— 应用表示层&#xff08; 基类 Activity &#xff09; 应…

风鬣霜蹄马王出

今年夏天&#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 在迁移的时候需要将其镜像…

FIFO的verilog代码

FIFO是英文First In First Out 的缩写&#xff0c;是一种先进先出的数据缓存器&#xff0c;他与普通存储器的区别是没有外部读写地址线&#xff0c;这样使用起来非常简单&#xff0c;但缺点就是只能顺序写入数据&#xff0c;顺序的读出数据&#xff0c;其数据地址由内部读写指针…

使用generate...for语句简化代码

使用generate…for语句简化代码 题目描述 在某个module中包含了很多相似的连续赋值语句,请使用generate…for语句编写代码,替代该语句,要求不能改变原module的功能。 module template_module( input [7:0] data_in,output [7:0] data_out );assign data_out [0] = data_in…

Android的启动过程

Passion注&#xff1a;本篇文章描述的是Android的启动过程&#xff0c;不包括Linux的启动过程 分别来自 http://dingpwen.spaces.live.com/blog/cns!4CADD02D22459860!208.entry?flcat http://www.eepw.com.cn/article/89567.htm http://blog.csdn.net/guiterb/archive…

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

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

Eclipse最新版 Neon已发布

今天&#xff0c;Eclipse基金会宣布发布Eclipse Neon&#xff0c;这个版本的IDE支持Java、JavaScript、C/C、PHP和Fortran等多种编程语言。这一次的发布集成了779个开发者&#xff08;其中有331人提交了代码&#xff09;的工作成果&#xff0c;包含了6900万行代码&#xff0c;是…

eclipse 全屏插件

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