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
相关推荐
梦雨生生9 分钟前
java开发工具(学习第一天)
java·开发语言·学习
Terasic友晶科技2 小时前
答疑解惑|Agilex 3 FPGA QSPI时钟设置注意事项
fpga开发·de23-lite·terasic·qspi flash
IT古董5 小时前
【MES学习笔记系列】05 - MES 数据库设计
笔记·学习·mes
LATASA7 小时前
【 从0到1构建 Agent Harness学习笔记】
网络·笔记·学习
weixin_431600447 小时前
做 Agent 会用到的 Node API(3):异步与流
前端·学习·ai·agent·ai编程
70asunflower8 小时前
Triton 从 0 到 1 完整学习教程
学习·triton
天国梦8 小时前
2026年英语教学数字化工具深度测评:天学网、腾讯英语君、翼课网横向对比
人工智能·学习
oier_Asad.Chen9 小时前
【OI学习笔记】Floyed-Warshall算法解决传递闭包问题
c++·笔记·学习·算法·图论·最短路·传递闭包
国科安芯9 小时前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
鱼听禅10 小时前
C#学习笔记-添加编译参数到程序集自动更新程序编译时间
笔记·学习·c#