verilog HDL语言的循环整数除法器_第1页
verilog HDL语言的循环整数除法器_第2页
verilog HDL语言的循环整数除法器_第3页
verilog HDL语言的循环整数除法器_第4页
verilog HDL语言的循环整数除法器_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——verilogHDL语言的循环整数除法器

循环整数除法器

******学院**级***系姓名:***学号:********指导老师:****

目录

一、除法器的基本原理与改进第1页

二,程序源代码及QuartusII仿真

三,测试代码及Modelsim仿真

四,DC综合部分

五.Astro幅员及解释

第4页8页11页第14页第第

一,除法器的基本原理与改进

本设计是基于传统的除法器的基础上改进而来的。

传统除法器的设计:

一、先取除数和被除数的正负关系,然后正值化被除数。传统除法器由于需要

递减的关系,所以除数就取负值的补码,便利操作。二、被除数递减除数,每一次的递减,商数递增。三、直到被除数小于除数,递减过程剩下的是余数。四、输出的结果根据除数和被除数的正负关系。例如:10除以3其操作流程就是:1,10-3余7>3;2,7-3余4>3;3,4-3余1

input[7:0]dividend,input[7:0]divisor,outputdone,

output[7:0]quotient,output[7:0]reminder,output[15:0]sq_diff,output[15:0]sq_temp);

reg[3:0]i;reg[8:0]s;reg[15:0]temp;reg[15:0]diff;regisneg;regisdone;

always@(posedgeclkornegedgerst)if(!rst)begini$REPORTS_DIR/timing_$TOP.rptreport_timing-delaymin-max_paths1-pathfull-nworst1>>$REPORTS_DIR/timing_$TOP.rptreport_area>$REPORTS_DIR/area_$TOP.rpt第13页

五.Astro幅员及解释

第14页

幅员管脚分派:

一共有84个管脚,每面21个管脚,其中程序的输入输出共68个管脚,每面还有VDD与VSS各两个。

1、

DC综合出的文件:luckyguy_divider.v:

moduleluckyguy_divider_DW01_inc_8_0(A,SUM);input[7:0]A;output[7:0]SUM;

wire\\carry[7],\\carry[6],\\carry[5],\\carry[4],\\carry[3],

\\carry[2],n1;

ah01d0U1_1_3

(.A(A[3]),.B(\\carry[3]),.S(SUM[3]),.CO(\\carry[4]));ah01d0U1_1_5

(.A(A[5]),.B(\\carry[5]),.S(SUM[5]),.CO(\\carry[6]));ah01d0U1_1_2

(.A(A[2]),.B(\\carry[2]),.S(SUM[2]),.CO(\\carry[3]));ah01d0U1_1_6

(.A(A[6]),.B(\\carry[6]),.S(SUM[6]),.CO(\\carry[7]));ah01d0U1_1_1

(.A(A[1]),.B(A[0]),.S(SUM[1]),.CO(\\carry[2]));ah01d0U1_1_4

(.A(A[4]),.B(\\carry[4]),.S(SUM[4]),.CO(\\carry[5]));xn02d1U5(.A1(n1),.A2(\\carry[7]),.ZN(SUM[7]));inv0d1U6(.I(A[7]),.ZN(n1));inv0d1U7(.I(A[0]),.ZN(SUM[0]));endmodule

第15页

moduleluckyguy_divider_DW01_addsub_8_0(A,B,CI,ADD_SUB,SUM,CO);input[7:0]A;input[7:0]B;output[7:0]SUM;inputCI,ADD_SUB;outputCO;

wire\\carry[6],\\carry[5],\\carry[4],\\carry[3],\\carry[2],

\\carry[1],\\carry[0],\\B_AS[6],\\B_AS[5],\\B_AS[4],\\B_AS[3],

\\B_AS[2],\\B_AS[1],\\B_AS[0],n1,n2,n3,n4,n5,n6,n7;

。。。

。。。。。。。。。。。。

assign\\carry[0]=B[7];

inv0d1U229(.I(i[3]),.ZN(n208));pc3d01U230(.PAD(rst),.CIN(n70));pc3d01U231(.PAD(start),.CIN(n71));pc3d01U232(.PAD(dividend[7]),.CIN(n72));pc3d01U233(.PAD(dividend[6]),.CIN(n73));pc3d01U234(.PAD(dividend[5]),.CIN(n74));pc3d01U235(.PAD(dividend[4]),.CIN(n75));pc3d01U236(.PAD(dividend[3]),.CIN(n76));

第16页

pc3d01U237(.PAD(dividend[2]),.CIN(n77));pc3d01U238(.PAD(dividend[1]),.CIN(n78));pc3d01U239(.PAD(dividend[0]),.CIN(n79));pc3d01U240(.PAD(divisor[7]),.CIN(n80));pc3d01U241(.PAD(divisor[6]),.CIN(n81));pc3d01U242(.PAD(divisor[5]),.CIN(n82));pc3d01U243(.PAD(divisor[4]),.CIN(n83));pc3d01U244(.PAD(divisor[3]),.CIN(n84));pc3d01U245(.PAD(divisor[2]),.CIN(n85));pc3d01U246(.PAD(divisor[1]),.CIN(n86));pc3d01U247(.PAD(divisor[0]),.CIN(n87));pc3o01U248(.I(n259),.PAD(done));pc3o01U249(.I(n260),.PAD(quotient[7]));pc3o01U250(.I(n261),.PAD(quotient[6]));pc3o01U251(.I(n262),.PAD(quotient[5]));pc3o01U252(.I(n263),.PAD(quotient[4]));pc3o01U253(.I(n264),.PAD(quotient[3]));pc3o01U254(.I(n265),.PAD(quotient[2]));pc3o01U255(.I(n266),.PAD(quotient[1]));pc3o01U256(.I(n267),.PAD(quotient[0]));pc3o01U257(.I(n268),.PAD(reminder[7]));pc3o01U258(.I(n269),.PAD(reminder[6]));pc3o01U259(.I(n270),.PAD(reminder[5]));pc3o01U260(.I(n271),.PAD(reminder[4]));pc3o01U261(.I(n272),.PAD(reminder[3]));pc3o01U262(.I(n273),.PAD(reminder[2]));pc3o01U263(.I(n274),.PAD(reminder[1]));

第17页

pc3o01U264(.I(n275),.PAD(reminder[0]));pc3o01U265(.I(n276),.PAD(sq_diff[15]));pc3o01U266(.I(n277),.PAD(sq_diff[14]));pc3o01U267(.I(n278),.PAD(sq_diff[13]));pc3o01U268(.I(n279),.PAD(sq_diff[12]));pc3o01U269(.I(n280),.PAD(sq_diff[11]));pc3o01U270(.I(n281),.PAD(sq_diff[10]));pc3o01U271(.I(n282),.PAD(sq_diff[9]));pc3o01U272(.I(n283),.PAD(sq_diff[8]));pc3o01U273(.I(n284),.PAD(sq_diff[7]));pc3o01U274(.I(n285),.PAD(sq_diff[6]));pc3o01U275(.I(n286),.PAD(sq_diff[5]));pc3o01U276(.I(n287),.PAD(sq_diff[4]));pc3o01U277(.I(n288),.PAD(sq_diff[3]));pc3o01U278(.I(n289),.PAD(sq_diff[2]));pc3o01U279(.I(n290),.PAD(sq_diff[1]));pc3o01U280(.I(n291),.PAD(sq_diff[0]));pc3o01U281(.I(n268),.PAD(sq_temp[15]));pc3o01U282(.I(n269),.PAD(sq_temp[14]));pc3o01U283(.I(n270),.PAD(sq_temp[13]));pc3o01U284(.I(n271),.PAD(sq_temp[12]));pc3o01U285(.I(n272),.PAD(sq_temp[11]));pc3o01U286(.I(n273),.PAD(sq_temp[10]));pc3o01U287(.I(n274),.PAD(sq_temp[9]));pc3o01U288(.I(n275),.PAD(sq_temp[8]));pc3o01U289(.I(n292),.PAD(sq_temp[7]));pc3o01U290(.I(n293),.PAD(sq_temp[6]));

第18页

[[floato;;ffset]];;;;;;;;;;;;;;;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论