整数开根号开方sqrt运算: Verilog编写,可用于FPGA的整数开根号计算模块

您所在的位置:网站首页 如何开平方根运算 整数开根号开方sqrt运算: Verilog编写,可用于FPGA的整数开根号计算模块

整数开根号开方sqrt运算: Verilog编写,可用于FPGA的整数开根号计算模块

2024-03-07 16:43| 来源: 网络整理| 查看: 265

整数开根号开方sqrt运算 介绍

用于FPGA/ASIC的整数开根号sqrt计算模块。 算法参考B站视频FPGA设计之verilog实现开根号 具有以下特性:

位宽任意调整 输出开方结果和余数 busy状态位 可综合的verilog语法

逻辑框图如下所示,推荐和B站视频一起食用:

端口说明与例化模板

DW是例化参数,决定了din_i sqrt_o rem_o的数据位宽

端口 方向 位宽 功能 clk 入 1 时钟信号 rst_n 入 1 低电平复位,异步复位同步释放 din_i 入 DW 开方数据输入 din_valid_i 入 1 数据输入有效位 busy_o 出 1 繁忙状态指示 sqrt_o 出 (DW+(DW%2))/2 开方结果输出 rem_o 出 DW-1 开方余数输出 busy_o状态 说明 输入输出状态 0 空闲 可读取结果,可计算新的数据 1 繁忙 din_valid_i拉高不会计算新的数据 sqrt #( .DW (DW )//输入数据的位宽 ) u_sqrt( .clk (clk ),//时钟 .rst_n (rst_n ),//低电平复位,异步复位同步释放 .din_i (din_i ),//开方数据输入 .din_valid_i (din_valid_i ),//数据输入有效,高有效 .busy_o (busy_o ),//sqrt单元繁忙 .sqrt_o (sqrt_o ),//开方结果输出 .rem_o (rem_o )//开方余数输出 ); 仿真

需要安装iverilog,安装见教程 对于Windows系统,打开RTL/tb/make.bat即可仿真 对于Linux系统,在RTL/tb目录下打开终端,输入make即可仿真

综合报告

32bit位宽

FPGA器件 Fmax Lattice ECP5U-25F 117MHz 高云GW2A-LV18 151MHz 安路EG4S20 205MHz


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3