网站大量收购独家精品文档,联系QQ:2885784924

练习十一.docVIP

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

练习十一. 简单卷积器的设计 下面我们将共同来完成一个用于教学的但有实际接口器件背景的小型设计—“简单卷积器的设计”。希望通过这个设计,使同学们建立起专用数字计算系统设计的基本概念。设计分成许多步骤进行,具体过程排列如下: 1)明确设计任务: 在设计之前必须明确设计的具体内容。卷积器是数字信号处理系统中常用的部件。它对模拟输入信号实时采样,得到数字信号序列。然后对数字信号进行卷积运算,再将卷积结果存入RAM中。对模拟信号的采样由A/D转换器来完成,而卷积过程由卷积器来实现。为了设计卷积器,首先要设计RAM和A/D转换器的Verilog HDL模型。在电子工业发达的国家,可以通过商业渠道得到非常准确的外围器件的虚拟模型。如果没有外围器件的虚拟模型,就需要仔细地阅读和分析RAM和A/D转换器的器件说明书,来自行编写。因为RAM和A/D转换器不是我们设计的硬件对象,所以需要的只是它们的行为模型,精确的行为模型需要认真细致地编写,并不比可综合模块容易编写。它们与实际器件的吻合程度直接影响设计的成功。在这里我们把重点放在卷积器的设计上,直接给出RAM 和A/D转换器的Verilog HDL模型和它们的器件参数(见附录),同学们可以对照器件手册,认真阅读RAM 和A/D转换器的Verilog HDL模型。对RAM 和A/D转换器的Verilog HDL模型的详细了解对卷积器的设计是十分必要的。 到目前为止,我们对设计模块要完成的功能比较明确了。总结如下:首先它要控制AD变换器进行AD变换,从AD变换器得到变换后的数字序列,然后对数字序列进行卷积,最后将结果存入RAM。 下面让我们一起来设计它。 2)卷积器的设计 通过前面的练习我们已经知道,用高层次的设计方法来设计复杂的时序逻辑,重点是把时序逻辑抽象为有限状态机,并用可综合风格的Verilog HDL把这样的状态机描述出来。 下面我们将通过注释来介绍整个程序的设计过程。我们选择8位输入总线,输出到RAM的数据总线也选择8位,卷积值的高、低字节被分别写到两个RAM中。地址总线为11位。为了理解卷积器设计中的状态机,必须对A/D转换器和RAM的行为模块有深入的理解。 `timescale 100ps/100ps module con1(address,indata,outdata,wr,nconvst,nbusy, enout1,enout2,CLK,reset,start); input CLK, //采用10MHZ的时钟 reset, //复位信号 start, //因为RAM的空间是有限的,当RAM存满后采样和卷积都会停止。 //此时给一个start的高电平脉冲将会开始下一次的卷积。 nbusy; //从A/D转换器来的信号表示转换器的忙或闲 output wr, //RAM 写控制信号 enout1,enout2, //enout1是存储卷积低字节结果RAM的片选信号 //enout2是存储卷积高字节结果RAM的片选信号 nconvst, //给A/D转换器的控制信号,命令转换器开始工作,低电平有效 address; //地址输出 input [7:0] indata; //从A/D转换器来的数据总线 output[7:0] outdata; //写到RAM去的数据总线 wire nbusy; reg wr; reg nconvst, enout1, enout2; reg[7:0] outdata; reg[10:0] address; reg[8:0] state; reg[15:0] result; reg[23:0] line; reg[11:0] counter; reg high; reg[4:0] j; reg EOC; parameter h1=1,h2=2,h3=3; //假设的系统系数 parameter IDLE=9b000000001, START=9b000000010, NCONVST=9b000000100, READ=9b000001000, CALCU=9b000010000, WRREADY=9b000100000,

文档评论(0)

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

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

1亿VIP精品文档

相关文档