FPGA课设实验一:简单的组合逻辑电路

本文介绍了FPGA课程设计的第一个实验,涉及一个计算电路,该电路接收输入A和B,输出A+B、A-B以及A与B的比较结果。当A大于B时,比较结果为01,小于B时为11,未传入值时为00。文中展示了RTL级代码、电路图、TestBench及正确的仿真结果。
摘要由CSDN通过智能技术生成

组合逻辑电路即敏感列表中没有时序相关的信号的逻辑电路,本次实验设计一个最简单的的计算电路,传入A和B的值,返回A+B、A-B和A,B的比较结果。比较大小时,如果A>B,则返回01,A<B则返回11,未传入值则返回00;

RTL级代码如下:

module compare(
input clk,
input rst,
input[15:0] a,
input[15:0] b,
output reg [1:0] result,
output reg [15:0] plus,
output reg [15:0] sub
);

always@(*)
 if(!rst)
	result = 2'b00;
 else if(a > b)
	result <= 2'b01;
 else if(a < b)
	result <= 2'b11;
 else
	result <= 2'b00;
	
always@(*)
	if(!rst)
	begin
		plus = 16'b0;
		sub = 16'b0;
		end
	else begin
	plus = a + b;
	sub = a - b;
	end
endmodule 

RTL电路图如下:

 仿真TestBench代码如下:

`timescale 1 ps/ 1 ps
module compare_vlg_tst();

// test vector input registers
reg [15:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值