平台:vivado21018.3,modelsim 10.6c
芯片:xc7k325tffg900-2 (active)
Adder/Subtracter IP可提供LUT和单个DSP48 slice加法/减法实现方案。Adder/Subtracter 模块可实现加法器 (A+B)、减法器 (A–B),以及可通过签名或未签名数据运行的动态可配置加法器/减法器。该功能能够以单个DSP48 slice方式实现,也能够以LUT方式实现。模块可以进行流水线处理。
支持256位数据位宽输入。
端口说明
信号 |
描述 |
详细 |
A[N:0] |
Input |
输入A |
B[M:0] |
Input |
输入B |
ADD |
Input |
控制通过添加器/减法器执行的操作(高=加法,低=减法,选择模式为加减模式有效) |
C_IN |
Input |
进位输入 |
C_OUT |
Output |
进位输出 |
S[P:0] |
Output |
输出结果S |
BYPASS |
Input |
旁路控制信号 |
CE |
Input |
时钟使能 高有效 |
CLK |
Input |
时钟输入 |
SCLR |
Input |
同步清除 高有效 |
SINIT |
Input |
同步初始化 |
SSET |
Input |
同步设置 |
配置界面
配置界面如上图所示
设置两个输入数据的数据位宽,设置计算方式为加法或者减法,设置数据输出位宽。注意数据输出位宽会根据不同输入类型产生不同计算结果。
第二页的配置主要是选型添加一些信号,这里值选泽勒时钟使能。
仿真代码
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2023/04/12 15:45:07
// Design Name:
// Module Name: c_addsub_tb
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module c_addsub_tb;
reg [140:0] a;
reg [ 99:0] b;
reg clk;
reg ce;
reg rst_n;
wire [140:0] c;
c_addsub_0 u_c_addsub_0 (
.A (a ),// input wire [140 : 0] A
.B (b ),// input wire [99 : 0] B
.CLK (clk ),// input wire CLK
.CE (ce ),// input wire CE
.S (c )// output wire [140 : 0] S
);
//------------------------------------------------------
//复位参数
//------------------------------------------------------
integer i;
//设置复位参数
initial
begin
$display("[%t] : reset begin...", $realtime);
rst_n = 0;
for( i=0 ; i<100 ; i=i+1)
begin
@(posedge clk );
end
$display("[%t] : reset stop...", $realtime);
rst_n = 1;
#1000;
$finish;
end
initial
begin
clk = 0;
rst_n = 0;
ce = 1;
end
reg [3:0] cnt ;
always@(posedge clk )
begin
if(rst_n == 1'b0)
begin
cnt <= 4'h0;
end
else if(cnt == 4'h4)
cnt <= 4'h0;
else
cnt <= cnt + 4'h1;
end
always@(posedge clk )
begin
if(rst_n == 1'b0)
begin
a <= 46'h0;
b <= 7'h0;
end
else if(cnt == 4'h4)
begin
a <= a + 46'h1;
b <= b + 7'h1;
end
else
begin
a <= a;
b <= b;
end
end
always#5 clk = ~clk;
endmodule
仿真结果
仿真tb,可以看到,在设置为延迟4个时钟周期后,计算结果保存在输出端口上。文章来源:https://www.toymoban.com/news/detail-609592.html
文章来源地址https://www.toymoban.com/news/detail-609592.html
到了这里,关于XILINX关于Adder/Subtracter加法器减法器 IP核的使用与仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!