整数开根号开方sqrt运算: Verilog编写,可用于FPGA的整数开根号计算模块 |
您所在的位置:网站首页 › 如何开平方根运算 › 整数开根号开方sqrt运算: Verilog编写,可用于FPGA的整数开根号计算模块 |
整数开根号开方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 |