




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6-11,6-11试编写求补码的Verilog程序,输入是带符号的8位二进制数modulewytest(data_in,data_out);/习题6-11input7:0data_in;output7:0data_out;reg7:0data_out;always(data_in)beginif(data_in7)/正数负数判断,从最高是否为1来判断data_out=(data_in)+1)|8h80;elsedata_out=data_in;endendmodule,6-11仿真波形,8A-原码表示的十进制数-100A-十进制数10B6-原码表示的十进制数-5436-十进制数5380-原码表示的十进制数128,6-12,6-12编写两个四位二进制数相减的verilog程序modulewytest(opr1,opr2,out_data);/完成Opr1-opr2的运算input3:0opr1,opr2;output4:0out_data;reg3:0out;regcout;function3:0abs;input3:0data;case(data3)1b0:abs=data;1b1:abs=(data)+1;/对负数求绝对值,按位取反再加1endcaseendfunction,6-12,always(opr1oropr2)case(opr13,opr23)2b00:cout,out=opr1-opr2;/两个正数相减2b01:cout,out=opr1+abs(opr2);/正数减负数,化为加法运算2b10:cout,out=-(abs(opr1)+opr2);/负数减正数,化为加法再取反2b11:cout,out=abs(opr2)-abs(opr1);/负数相减,化为绝对值相减(顺序调换)endcaseassignout_data=cout,out;endmodule,6-12,6-12仿真波形,6-13,6-13有一个比较电路,当输入的一位BCD码大于4时,输出1,否则输出0。modulewytest(bcd_in,out);input3:0bcd_in;outputout;assignout=(bcd_in4)?1:0;endmodule,6-13,仿真波形,6-13,modulewytest(bcd_in,out);/习题6-13input3:0bcd_in;outputout;/assignout=(bcd_in4)?1:0;regout;always(bcd_in)if(bcd_in-40)out=1;elseout=0;endmodule,6-13,6-14,试编写一个实现3输入与非门的verilog程序;modulewytest(a,o);input2:0a;outputo;nandnand3(o,a0,a1,a2);endmodule,6-14,6-15,6-15设计74138译码器电路,6-15,modulewytest(s1,s2,in,out);inputs1;input1:0s2;input2:0in;output7:0out;reg8:0out;always(s1ors2orin)beginif(s1=0)out=8hff;elseif(!s20)|(!s21)out=8hff;,elsecase(in)3d0:out=8b11111110;3d1:out=8b11111101;3d2:out=8b11111011;3d3:out=8b11110111;3d4:out=8b11101111;3d5:out=8b11011111;3d6:out=8b10111111;3d7:out=8b01111111;endcaseendendmodule,6-15,6-16,CO=Q3Q2Q1Q0CTT,注意:异步清零、同步置位,6-16设计一个74161的电路。,6-16,modulewytest(reset,load,ctt,ctp,clk,data_in,out,co);/习题6-16inputreset,load,ctt,ctp,clk;input3:0data_in;output3:0out;outputco;reg3:0out;regco;always(posedgeclkornegedgereset)if(!reset)beginout=4b0;co=1b0;endelseif(!load)out=data_in;elseif(!ctt)out=out;elseif(!ctp)out=out;,elsebeginout=out+1;if(out=14)co=1;elseco=0;endendmodule,6-16,四级流水线实现的32位加法器,modulewytest(clk,a,b,sum,cout);input31:0a,b;inputclk;output31:0sum;outputcout;/最后输出的结果reg31:0sum;regcout;/第一级流水线的输出reg7:0fist_sum;regfirst_cout;/第一级流水线要缓存的数据/未用的数据缓存reg7:0first_a_31_24,first_a_23_16,first_a_15_8;reg7:0first_b_31_24,first_b_23_16,first_b_15_8;,四级流水线实现的32位加法器,/第二级流水线的输出reg7:0second_sum;regsecond_cout;/第二级流水线要缓存的数据/未用的数据缓存reg7:0second_a_31_24,second_a_23_16;reg7:0second_b_31_24,second_b_23_16;/第一级流水线计算结果缓存reg7:0first_sum_1;/第一级流水线计算结果第一次缓存/第三级流水线输出reg7:0third_sum;regthird_cout;/第三级流水线要缓存的数据/未用的数据缓存reg7:0third_a_31_24;reg7:0third_b_31_24;/第一级、第二级流水线计算结果缓存reg7:0first_sum_2;/第一级流水线计算结果第二次缓存;reg7:0second_sum_1;/第二级流水线计算结果第一次缓存;,四级流水线实现的32位加法器,/第一级流水线always(posedgeclk)beginfirst_cout,fist_sum=a7:0+b7:0+cout;first_a_31_24=a31:24;first_b_31_24=b31:24;first_a_23_16=a23:16;first_b_23_16=b23:16;first_a_15_8=a15:8;first_b_15_8=b15:8;end/第二级流水线always(posedgeclk)beginsecond_cout,second_sum=first_a_15_8+first_b_15_8+first_cout;second_a_31_24=first_a_31_24;second_b_31_24=first_b_31_24;second_a_23_16=first_a_23_16;second_b_23_16=first_b_23_16;first_sum_1=fist_sum;end,四级流水线实现的32位加法器,/第三级流水线always(posedgeclk)beginthird_cout,third_sum=second_a_23_16+second_b_23_16+second_cout;third_a_31_24=second_a_31_24;third_b_31_24=second_b_31_24;first_sum_2=first_sum_1;second_sum_1=second_sum;end/第四级流水线always(posedgeclk)begincout,sum31:24=third_a_31_24+third_b_31_24+third_cout;sum23:0=third_sum,second_sum_1,first_sum_2;endendmodule,四级流水线实现的32位加法器,8x8乘法器实现,modulewytest(out,a,b,clk);input7:0a,b;inputclk;output15:0out;reg15:0out;reg3:0firsta,firstb;reg3:0seconda,secondb;wire7:0outa,outb,outc,outd;always(posedgeclk)beginfirsta3:0=a7:4;seconda3:0=a3:0;firstb3:0=b7:4;secondb3:0=b3:0;end,mul4x4m1(outa,firsta,firstb,clk),m2(outb,seconda,firstb,clk),m3(outc,firsta,secondb,clk),m4(outd,seconda,secondb,clk);always(posedgeclk)out=(outa8)+(outb4)+(outc4)+outd;endmodule,8x8乘法器实现,用另一种方法实现:将8位数字分成4段,每段两位,那么操作数可表示如下:A=A1X26+A2X24+A3X22+A4B=B1X26+B2X24+B3X22+B4AXB=(A1X26+A2X24+A3X22+A4)X(B1X26+B2X24+B3X22+B4)上式展开后,要做16次2X2的乘法,调用16次lookup函数然后再做移位相加的处理。,7-5编写4位并-串转换电路,modulewytest(clk,rst,in,out);inputclk,rst;input3:0in;outputout;regout;reg1:0i;,always(posedgeclk)beginif(rst)begini=2d0;out=1d0;endelseif(i=3)beginout=ini;i=i+1;endend,模为9的占空比50%的奇数分频,modulewytest(RESET,CLK,COUT);inputCLK,RESET;outputCOUT;reg3:0m,n;wireCOUT;regCOUT1,COUT2;assignCOUT=COUT1|COUT2;always(posedgeCLK)beginif(!RESET)beginCOUT1=0;/输出信号初态为0m=0;/计数初值为0end,elseif(RESET)beginif(m=8)/n-1beginm=0;endelsem=m+1;if(m=3)/N/2-1.5COUT1=COUT1;elseif(m=7)/N-2COUT1=COUT1;endend,always(negedgeCLK)beginif(!RESET)beginCOUT2=0;n=0;end,elseif(RESET)beginif(n=8)beginn=0;endelsen=n+1;if(n=3)COUT2=COUT2;elseif(n=7)COUT2=COUT2;endendEndmodule,模为9的占空比50%的奇数分频,模为9.3的小数分频,分频方法:9分频7次,10分频3次,modulefdiv8_1(clk_in,rst,clk_out);inputclk_in,rst;outputclk_out;regclk_out;reg3:0cnt1;/cnt1计8分频的次数reg3:0cnt2;/cnt2为两个分频器的计数值always(posedgeclk_inorposedgerst)beginif(rst)begincnt1=0;cnt2=0;clk_out=0;endelseif(cnt17)/9分频7次beginif(cnt28)/9分频的前8个脉冲的处理begincnt2=cnt2+1;clk_out=0;endelse/处理最后一个输入脉冲begincnt2=0;clk_out=1;cnt1=cnt1+1;endend,模为9.3的小数分频,elseif(cnt110)beginif(cnt29)/10分频的前9个脉冲处理begincnt2=cnt2+1;clk_out=0;endelsebegincnt2=0;clk_out=1;if(cnt1=9)cnt1=0;elsecnt1=cnt1+1;endendendendmodule,习题10-3“1001”二进制序列检测器,S0,S1,S2,S3,1/0,0/0,0/0,0/0,1/1,1/0,1/0,0/0,RESET,modulewytest(reset,clk,in,out);inputreset,clk,in;outputout;regout;reg1:0state,next_state;parameters0=2d0,s1=2d1,s2=2d2,s3=2d3;always(posedgeclk)beginif(!reset)state=s0;elsestate=next_state;endalways(stateorin)case(state)s0:if(in=1)next_state=s1;elsenext_state=s0;s1:if(in=0)next_state=s2;elsenext
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省宜昌市长阳县2026届化学九年级第一学期期中统考试题含解析
- 2026届四川省成都市新都区英语九年级第一学期期末调研试题含解析
- 化验员读本培训
- 2026届内蒙古翁牛特旗九年级化学第一学期期末考试试题含解析
- 2026届山东省莱城区刘仲莹中学英语九年级第一学期期末达标测试试题含解析
- 山东省枣庄市第三十二中学2026届九上化学期中监测试题含解析
- 太湖县五校联考2025-2026学年八年级上学期开学道德与法治试题
- 山东省烟台某中学高三上学期调研考试数学-试题
- 黑龙江省大兴安岭松岭区古源中学2026届英语九年级第一学期期末经典试题含解析
- 2025年辅警考试面试题及答案
- 年产62万吨甲醇制烯烃(MTO)项目初步设计说明书
- 联通创新人才认证(解决方案)考试题库(附答案)
- 全成本管理探索与实践
- 电烙铁焊接技术培训
- ICU患者的早期活动
- 出纳课件 转账支票pptx
- TSZUAVIA 009.11-2019 多旋翼无人机系统实验室环境试验方法 第11部分:淋雨试验
- ps6000自动化系统用户操作及问题处理培训
- 商务礼仪情景剧剧本范文(通用5篇)
- 2021年东台市城市建设投资发展集团有限公司校园招聘笔试试题及答案解析
- 某县干部周转宿舍工程可行性研究报告
评论
0/150
提交评论