平方根求解算法的Verilog实现.docx

平方根求解算法的Verilog实现.docx

ID:59829176

大小:69.68 KB

页数:4页

时间:2020-11-25

平方根求解算法的Verilog实现.docx_第1页
平方根求解算法的Verilog实现.docx_第2页
平方根求解算法的Verilog实现.docx_第3页
平方根求解算法的Verilog实现.docx_第4页
资源描述:

《平方根求解算法的Verilog实现.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、此平方根求解算法用的是试根法,绝对好用,最后有modelsim仿真图验证哟~~~modulesqrt(//端口列表clk,start,over,data,result,remain);//端口定义及数据类型说明inputclk;inputstart;//开始信号,为1时才开始计算,否则等待inputwire[9:0]data;//10位数据输入outputregover;//结束信号,计算完成时产生一个时钟周期的高电平outputreg[9:0]result;//接近开平方结果的整数outputreg[9:0]rema

2、in;//“余数”部分remain=data-result*resultreg[2:0]STATE;//标识状态reg[9:0]M;//中间变量reg[3:0]N;//权的表示reg[9:0]CMP;//中间变量reg[9:0]X,R;//存中间结果哒initialbeginSTATE=0;over=0;endalways@(posedgeclk)begincase(STATE)0:beginover<=0;if(start)beginSTATE<=1;//指示状态X<=0;//00…00R<=data;M<=data

3、>>8;//原数据右移8位后给M,也就是M存着data的最高位和次高位N<=8;endend1:beginif(M>=1)//如果最高位和次高位不是00也就是011011三种beginX<=1;//00…01R<=R-(10'd1<=CMP)beginX<=X+1;R<=R-CMP;endSTATE<=4;//这是

4、还不知道在干嘛的状态4end4:beginif(N==0)//N为零时beginresult<=X;//X的值就是结果remain<=R;//R的值是余数over<=1;//计算结束over置为1STATE<=0;//回到起始状态endelseSTATE<=2;//不为零也就是还没算完时,回到状态2喵enddefault:beginSTATE<=0;//啦啦要是前面出错回到起始状态endendcaseendendmodule//sqrt程序的测试程序`timescale10ns/1nsmodulesqrt_tb;//主

5、要输入寄存器regclk;regstart;reg[9:0]data;//主要输出声明wireover;wire[9:0]result;wire[9:0]remain;//待测试设计例化sqrtmy_sqrt(clk,start,over,data,result,remain);//产生时钟周期是100个时间单位always#50clk=~clk;//设计一个或多个激励信号发生器initialbeginclk=0;data=10'd676;start=0;#100start=1;#1500start=0;//改变数据#

6、2000data=10'd750;//为了检测start是否起作用#2000start=1;end//检测输出信号initialbegin$monitor($time,"over=%bresult=%dremain=%d",over,result,remain);#8000$finish;endendmodule仿真验证的结果如下图所示。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。