数字系统设计与veriloghdl课后答案 联系客服

发布时间 : 星期一 文章数字系统设计与veriloghdl课后答案更新完毕开始阅读

s15: begin led_r=8b10100101; state=s0;end default: begin led_r=8b11111111;state=s0;end endcase end

endmodule

16、超前进位加法器的verilog hdl描述: module add_ahead (sum,cout,a,b,cin); input[7:0] a,b; input cin;output[7:0] sum; output cout;wire[7:0] g,p; wire[7:0] c,sum; assign g[0]=a[0]b[0]; assign p[0]=a[0]|b[0]; assign c[0]=cin;

assign sum[0]=g[0]^p[0]^c[0]; assign g[1]=a[1]b[1]; assign p[1]=a[1]|b[1];

assign c[1]=g[0]|(p[0]cin);

assign sum[0]=g[0]^p[0]^c[0]; assign g[2]=a[2]b[2]; assign p[2]=a[2]|b[2];

assign c[2]=g[1]|(p[1]c[1]);

assign sum[2]=g[2]^p[2]^c[2]; assign g[3]=a[3]b[3]; assign p[3]=a[3]|b[3];

assign c[3]=g[2]|(p[2]c[2]);

assign sum[3]=g[3]^p[3]^c[3]; assign g[4]=a[4]b[4]; assign p[4]=a[4]|b[4];

assign c[4]=g[3]|(p[3]c[3]);

assign sum[4]=g[2]^p[2]^c[2]; assign g[5]=a[5]b[5]; assign p[5]=a[5]|b[5];

assign c[5]=g[4]|(p[4]c[4]);

assign sum[5]=g[5]^p[5]^c[5]; assign g[6]=a[6]b[6]; assign p[6]=a[6]|b[6];

assign c[6]=g[5]|(p[5]c[5]);

assign sum[6]=g[6]^p[6]^c[6]; assign g[7]=a[7]b[7]; assign p[7]=a[7]|b[7];

assign c[7]=g[6]|(p[6]c[6]);

assign sum[7]=g[7]^p[7]^c[7]; assign cout=g[7]|(p[7]c[7]); endmodule

17、课本227页:9.4 奇数分频与小数分频

奇数分频的方法:用两个计数器,一个由输入时钟上升沿触发,一个由输入时钟下降沿触发,最后将两个计数器的输出相或,即可得到占空比为50%的方波波形。

小数分频的方法:1)用数字锁相环实现。先利用锁相环电路将输入时钟倍频,然后利用分频器对新产生的高频信号进行分频得到需要的时钟频率。2)先设计两个不同分频比的整数分频器,然后通过控制两种分频比出现的不同次数来获得所需的小数分频值,从而实现平均意义上的小数分频。

偶数次分频的方法:比如进行2n次分频,只需在计数到n-1时,波形翻转即可;或者在最后一级加一个2分频器也可实现。