Verilog语法学习——LV6_多功能数据处理器

LV6_多功能数据处理器

题目来源于牛客网

[牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page=1&tab=Verilog篇&topicId=301)

题目

描述

根据指示信号select的不同,对输入信号a,b实现不同的运算。输入信号a,b为8bit有符号数,当select信号为0,输出a;当select信号为1,输出b;当select信号为2,输出a+b;当select信号为3,输出a-b.

接口信号图如下:

输入描述:

clk:系统时钟

rst_n:复位信号,低电平有效

a,b:8bit位宽的有符号数

select:2bit位宽的无符号数

输出描述:

c:9bit位宽的有符号数

代码

verilog 复制代码
`timescale 1ns/1ns
module data_select(
	input clk,
	input rst_n,
	input signed[7:0]a,
	input signed[7:0]b,
	input [1:0]select,
	output reg signed [8:0]c
);
//*************code***********//
/*代码思路:case(select)来执行不同的输出
select = 0: 输出a
select = 1: 输出b
select = 2: 输出a+b	
select = 3: 输出a-b*/

	always @(posedge clk or negedge rst_n) begin
		if(!rst_n)
			c <= 0;
		else begin
			case (select)
				2'd0: begin 
					c <= a;
				end
				2'd1: begin 
					c <= b;
				end
				2'd2: begin 
					c <= a + b;
				end
				2'd3: begin 
					c <= a - b;
				end
			endcase
		end
	end
	
//*************code***********//
endmodule
相关推荐
2501_9262279414 分钟前
.Net程序员就业现状以及学习路线图(五)
学习·.net
siy23334 小时前
[c语言日记] 数组的一种死法和两种用法
c语言·开发语言·笔记·学习·链表
在路上`6 小时前
前端学习之后端java小白(三)-sql外键约束一对多
java·前端·学习
尚久龙6 小时前
安卓学习 之 用户登录界面的简单实现
android·运维·服务器·学习·手机·android studio·安卓
yb0os17 小时前
RPC实战和核心原理学习(一)----基础
java·开发语言·网络·数据结构·学习·计算机·rpc
乱飞的秋天7 小时前
网络编程学习
网络·学习·php
第二层皮-合肥7 小时前
FPGA硬件设计-基础流程
fpga开发
2202_755744307 小时前
开学季技术指南:构建高效知识管理系统与学习工作流
学习
第二层皮-合肥8 小时前
FPGA硬件开发-Xilinx产品介绍
fpga开发
XINVRY-FPGA8 小时前
XCVP1902-2MSEVSVA6865 AMD 赛灵思 XilinxVersal Premium FPGA
人工智能·嵌入式硬件·神经网络·fpga开发·云计算·腾讯云·fpga