(已去除编辑限制)第6章课后作业及第7章补充例子.docVIP

(已去除编辑限制)第6章课后作业及第7章补充例子.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(已去除编辑限制)第6章课后作业及第7章补充例子

第6章课后作业: 奇偶校验电路 奇偶校验是一种常用的监视信号传输过程中是否出现错误的方法。当输入数据中1的个数分别为奇数和偶数时,输出位的值相应地为1和0,这样就使输出数据中1的个数恒为偶数(偶校验)。设计要求:输入为7位二进制数据,常用偶校验,计算出偶校验位,并将偶校验位置于最高位,连同原来的数据一起输出。用Verilog设计出该模块及测试平台。 参考代码: // parity.v `timescale 1ns/1ns module parity (data,dout); input [6:0] data; output [7:0] dout; assign dout={^data,data}; endmodule 测试平台: // testbench.v `timescale 1ns/1ps module testbench; reg [6:0] data; wire [7:0] dout; initial begin data=0; #100; data=7b100_1101; #100; data=7b101_0001; #100; end parity u1(data,dout); endmodule 实例五:简单自动售货机控制电路 下面采用状态机实现一个简单自动售货机控制电路,电路框图见图7-58。该电路有两个投币口(1元和5角),货物2元一件,不设找零,图7-59是电路的状态机,half_yuan表示投入5角,one_yuan表示投入1元,out表示是否提供货品。 //单always `timescale 1ns/100ps module saler(reset,clk,half_yuan,one_yuan,out); input clk,reset,half_yuan,one_yuan; output out; reg out; reg [2:0] state; parameter idle=0, half=1, one=2, one_half=3, two=4; always @(posedge clk or posedge reset) if (reset) begin out=0; state=0; end else case(state) idle:begin out=0; if (half_yuan) state=half; else if(one_yuan) state=one; else state=idle; end half:begin if (half_yuan) state=one; else if(one_yuan) state=one_half; else state=half; end one:begin if (half_yuan) state=one_half; else if(one_yuan) begin out=1; state=two; end else state=one; end one_half:begin if (half_yuan) begin out=1; state=two; end else state=one_half; end two:begin out=0; state=idle; end default:begin out=0; state=idle; end endcase endmodule 测试平台: `timescale 1ns/1ps module testbench; reg reset; reg clk; reg half_yuan; reg one_yuan; wire out; always begin #100 clk=1; #100 clk=0; end initial begin reset=1; clk=0; half_yuan=0; one_yuan=0; #200; reset=0; //input half_yuan repeat(2) @(posedge clk);

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档