远程FPGA虚拟实验平台用SystemVerilog HDL实现算术逻辑单元

远程FPGA虚拟实验平台用SystemVerilog HDL实现算术逻辑单元


前言:这次没有实验材料所以是我自己乱写的,肚子饿了写得挺急的,有错记得dd我!
还有一个问题!welab平台里要拿测试的一百分,要改一段代码,就是上次的多功能运算代码里我提到的带借位减法的c0问题!注意看源代码的注释!

原理

ALU

就是在上次实验的基础上多了S1和S0,而且把所有开关装到一起去统称为ALUop了,就看起来很复杂其实蛮简单的。
在这里插入图片描述
在这里插入图片描述

源代码

ALU

VirtalBoard模块

这次sv也是要交的,所以复制粘贴的时候记得删改一下不要照搬哟!

`default_nettype none 
module VirtualBoard (
    input  logic  CLOCK,      // 10 MHz Input Clock 
    input  logic [19:0] PB,   // 20 Push Buttons, logical 1 when pressed
    input  logic [35:0] S,    // 36 Switches
    output logic [35:0] L,    // 36 LEDs, drive logical 1 to light up
    output logic  [7:0] SD7,  // 8 common anode Seven-segment Display
    output logic  [7:0] SD6,
    output logic  [7:0] SD5,
    output logic  [7:0] SD4,
    output logic  [7:0] SD3,
    output logic  [7:0] SD2,
    output logic  [7:0] SD1,
    output logic  [7:0] SD0
); 
localparam N =4;
wire [3:0] ALUop = S[12:9];//要求用ALUop来写啦
wire Cin = S[8];
wire [3:0] X = S[7:4];
wire [3:0] Y = S[3:0];
wire [N-1:0] A,B,F;
wire C0;

wire [N:0] result;
wire SR, SV, SL, M3, M2, M1, M0, S1, S0;

/*assign A = X;
assign B = Y & {N{M0}} | (~Y) & {N{M1}};
assign C0 = M2;//这个从实验材料里抄来的,没啥用的样子,大概是实验材料里没有加法器的版本是这样的*/

always @ ALUop
begin
	case(
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值