• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

矩阵乘法器设计Verilog代码VIVADO仿真

08/12 09:18
650
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240R61R614P5.doc

共1个文件

名称:矩阵乘法器设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

矩阵乘法器

设计矩阵乘法器,为2x2矩阵,每个元素为16位,乘法器使用IP核。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

工程文件

程序文件

程序编译

Testbench

仿真图

部分代码展示:

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2020/04/04 12:42:42
// Design Name: 
// Module Name: matrix_mul
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////
module matrix_mul(
input clk,
input [15:0] matrixA_0,//输入矩阵A元素1
input [15:0] matrixA_1,//输入矩阵A元素2
input [15:0] matrixA_2,//输入矩阵A元素3
input [15:0] matrixA_3,//输入矩阵A元素4
input [15:0] matrixB_0,//输入矩阵B元素1
input [15:0] matrixB_1,//输入矩阵B元素2
input [15:0] matrixB_2,//输入矩阵B元素3
input [15:0] matrixB_3,//输入矩阵B元素4
output [31:0] convolutAB_0,//输出结果元素1
output [31:0] convolutAB_1,//输出结果元素2
output [31:0] convolutAB_2,//输出结果元素3
output [31:0] convolutAB_3//输出结果元素4
);
wire [31:0] matrixA_0XmatrixB_0;
wire [31:0] matrixA_1XmatrixB_2;
wire [31:0] matrixA_0XmatrixB_1;
wire [31:0] matrixA_1XmatrixB_3;
wire [31:0]matrixA_2XmatrixB_0;
wire [31:0]matrixA_3XmatrixB_2;
wire [31:0]matrixA_2XmatrixB_1;
wire [31:0]matrixA_3XmatrixB_3;
//计算结果
assign convolutAB_0=matrixA_0XmatrixB_0+matrixA_1XmatrixB_2;
assign convolutAB_1=matrixA_0XmatrixB_1+matrixA_1XmatrixB_3;
assign convolutAB_2=matrixA_2XmatrixB_0+matrixA_3XmatrixB_2;
assign convolutAB_3=matrixA_2XmatrixB_1+matrixA_3XmatrixB_3;
mult_IP I0 (
  .CLK(clk),  // input wire CLK
  .A(matrixA_0),      // input wire [15 : 0] A
  .B(matrixB_0),      // input wire [15 : 0] B
  .P(matrixA_0XmatrixB_0)      // output wire [31 : 0] P
);
mult_IP I1 (
  .CLK(clk),  // input wire CLK
  .A(matrixA_1),      // input wire [15 : 0] A
  .B(matrixB_2),      // input wire [15 : 0] B
  .P(matrixA_1XmatrixB_2)      // output wire [31 : 0] P
);
mult_IP I2 (
  .CLK(clk),  // input wire CLK
  .A(matrixA_0),      // input wire [15 : 0] A
  .B(matrixB_1),      // input wire [15 : 0] B
  .P(matrixA_0XmatrixB_1)      // output wire [31 : 0] P
);
mult_IP I3 (
  .CLK(clk),  // input wire CLK
  .A(matrixA_1),

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=963

  • 2-240R61R614P5.doc
    下载

相关推荐