- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 例8-7:4位BCD码加减计数器 module counter(rst, clk, q , m); input rst, clk,m; output [3:0] q; reg [3:0] q; always @( posedge clk) if (!rst) q=0; else if(m==0) if (q==9) q=0; else q=q+1; else if(m==1) if (q==0) q=9; else q=q-1; endmodule * * 练习4 1、以结构描述方式实现下列逻辑: Y=ABC+DE+ CFG 2、试设计一个具有使能端ncs的2-4译码器。 3、试设计一个4位加减运算器,输入为A、B、CIN、M,输出为OUT和COUT。当M=0时执行加法运算, M=1时,执行减法运算。 4、试设计一个14分频器,要求占空比1:1。 5、试设计一个具有三态输出缓冲的8位数据寄存器。 6、试设计一个具有清0和置数功能的8位二进制加1计数器。 7、设计一个16位移位寄存器。 8、设计一个16位双向移位寄存器,当d=0时右移, d=1时左移。 * * 课堂练习 中断请求有效电平为高电平,中断请求输入线INTR0—INTR7中INTR0优先权最高。试设计一个中断优先权编码器。当有中断请求时,INT=1,同时输出中断请求输入线的编码V;否则INT=0,V的输出任意。 试设计一个序列检测器。 试设计一个具有同步清0和同步置数功能的10位二进制加法计数器。其输出为三态门结构,输出允许信号为oe。 试设计一个6分频器,要求占空比1:1。 试设计每周期16个采样点的锯齿波信号发生器。 * * 习题课 1、试设计一个具有使能端ncs0和ncs1的3-8译码器,输出低电平有效。 module decode(ny,ncs0,ncs1,x); input [2:0] x;input ncs0,ncs1; output [7:0] ny; reg [7:0] ny; always @(ncs0 or ncs1or x) if(ncs0==0 ncs1==0) * * case(x) 3’b000:ny=~8’ 3’b001:ny=~8’ 3’b010:ny=~8’ 3’b011:ny=~8’ 3’b100:ny=~8’ 3’b101:ny=~8’ 3’b110:ny=~8’ 3’b111:ny=~8’ endcase else ny=~8’ endmodule * * 2、试设计一个4-2优先编码器(高位优先)。 module code(y,f,x); input [3:0]x; output[1:0]y;output f; reg[1:0]y;reg f; always @(x) casex(x) 4’b1???:begin y=2’b11;f=1;end//{f,y}=3’b111; 4’b01??: begin y=2’b10;f=1;end //{f,y}=3’b110; 4’b001?: begin y=2’b01;f=1;end //{f,y}=3’b101; 4’b0001: begin y=2’b00;f=1;end //{f,y}=3’b100; default:begin y=2’b00; f=0;end //{f,y}=3’b000; endcase endmodule * * 3 、试设计一个6分频器,要求占空比1:1。 module div(clk_6,clk); input clk; output clk_6; reg clk_6;reg [2:0]counter; always @(posedge clk) begin if(counter==5) counter=3’b000; else Counter=counter+1’b1; if(counter=2)clk_6=0; else clk_6=1; end endmodule * * 4、试设计一个具有三态输出缓冲的8位数据寄存器。 module register (db,nce,noe,nwe) ; inout[7:0] db ; input nce,noe,nwe; reg[7:0] q; assign db= (nce ||noe)?8bzzzzzzzz :q; always @(posedge
原创力文档


文档评论(0)