求一个verilog hdl 复习语言产生个(0,1)的M序列

[理学]第三章 Verilog HDL语言要素芜湖职业技术学院第3章 verilog hdl语言要素 ..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
[理学]第三章 Verilog HDL语言要素
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Verilog HDL语言在FPGA/CPLD开发中的应用
> Verilog HDL语言在FPGA/CPLD开发中的应用
Verilog HDL语言在FPGA/CPLD开发中的应用
1 引言本文引用地址:近30年来,由于微电子学和计算机科学的迅速发展,给EDA(电子设计自动化)行业带来了巨大的变化。特别是进入20世纪90年代后,电子系统已经从电路板级系统集成发展成为包括ASIC、和嵌入系统的多种模式。可以说EDA产业已经成为电子信息类产品的支柱产业。EDA之所以能蓬勃发展的关键因素之一就是采用了硬件描述语言()描述电路系统。就和开发而言,比较流行的主要有 、VHDL、ABEL-HDL和 AHDL 等,其中VHDL和 HDL因适合标准化的发展方向而最终成为IEEE标准。但与VHDL相比, HDL有个最大的优点:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,一般经过2~3个月的认真学习和实际操作就能掌握这种设计技术。并且完成同一功能Verilog HDL的程序条数一般仅为VHDL的1/3。而VHDL设计技术则不很直观,需要有EDA编程基础,通常需要有多余半年的专业培训才能掌握这们技术。可见,用Verilog HDL语言有更高的优越性。2 设计实例通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法,这比传统自下向上的EDA设计方法有更明显的优势(当时的主要设计文件是电路图)。因为由自顶向下的设计过程可以看出,从总体行为设计开始到最终逻辑综合,形成网络表为止。每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。这也是HDL语言设计系统硬件的最突出的优点之一。并且在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述。而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。在系统的底层设计中,由于其对系统很强的行为描述能力,可以不必使系统层层细化,从而避开具体的器件结构,从逻辑行为上直接对模块进行描述和设计,随后EDA设计软件或相应的第三方工具软件中的综合器将程序自动综合成为具体/等目标芯片的网表文件,这种避开具体器件结构的方式也是它的重要优势之一。下面以序列检测器的设计为例具体说明。序列检测器是时序数字电路中非常常见的设计之一。它的主要功能是:将一个指定的序列从数字码流中识别出来。接下来就以设计&01101&这个序列的检测器为例,说明Verilog HDL语言的具体应用。设X为数字码流输入,Z为检出标记输出,高电平表示&发现指定序列&,低电平表示&没有发现指定的序列&。设输入的码流为&011111...&,则其序列检测器的逻辑功能如表1所示。在时钟2~6中,码流X里出现指定序列&01101&,对应输出Z在第6个时钟变为高电平&1&,表示发现指定序列&01101&,Z输出&1&。同理在第9个时钟对应输出Z也为&1&。根据这个逻辑功能描述,我们可以分析得出状态转换图(见图1)。其中状态A~E表示5位序列&01101&按顺序正确地出现在码流中。因为输入码流X是随机的,因此可能会有很多重叠的情况发生。这样在转换图中相应的还要有状态F和G。设初始状态为IDLE,则有相应的Verilog HDL语言程序如下。module seqdet(x,z,clk,rst);input x,clk,reg[2:0]parameter IDLE=3'd0,A=3'd1,B=3'd2,C=3'd3,D=3'd4,E=3'd5,F=3'd6,G=3'd7;assign z=(state==D
x==1)?1:0;always@(posedge clk or negedge rst)if(!rst)beginstate=IDLE;endelsecasex(state)IDLE:if(x==0)state=A;else state=IDLE;A:if(x==1)state=B;else state=A;B:if(x==1)state=C;else state=F;C:if(x==0)state=D;else state=G;D:if(x==1)state=E;else state=A;E:if(x==1)state=C;else state=A;F:if(x==0)state=A;else state=B;G:if(x==0)state=F;else state=G;default: state=IDLE;endcaseendmodule
分享给小伙伴们:
我来说两句……
微信公众账号用FPGA产生 f1(x) =1+ x + x + x + x 的m 序列,verilog 语言,非常感谢!_百度知道
用FPGA产生 f1(x) =1+ x + x + x + x 的m 序列,verilog 语言,非常感谢!
第一个x是2次方,第二个x是3次方,第三个x是4次方,第四个x是8次方!
提问者采纳
这是一个反馈移位寄存器,你就定义一组寄存器reg A_1,A_2,A_3...A_8;然后再always里面A_1&=A_2^A_3^A_4^A_8;A_2&=A_1;A_3&=A_2;...A_8&=A_7;最后A_8出来的就是你要的序列了,注意在系统复位时所有寄存器不能全为0,否则就不会有序列了。
其他类似问题
fpga的相关知识
其他2条回答
你可以用assign语句来实现平方,立方,四次方如:assign X2=X*X;assign
X3=X2*X;assign
X4=X3*X;always@(posedge clk)beginf1 = 1+X2+X3+X4;X = X+1;end我这只是提供个思想,程序运行可能会出错,你要设置好f1跟X的位数
大哥~人家说要用移位寄存器做!看清楚点题目
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁那个我懂了,我用verilog写了一个,但我记得m序列的初始状态的第一位好像是必须是1开头的,是吗_百度知道
那个我懂了,我用verilog写了一个,但我记得m序列的初始状态的第一位好像是必须是1开头的,是吗
提问者采纳
噢 这个可不一定啊,它伪随机序列啊,大哥 你倒是把我的回答都给采纳了吧,
提问者评价
哦 好的 刚才没注意什么最佳答案的 谢谢了
来自:求助得到的回答
其他类似问题
verilog的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁第二讲_Verilog_HDL语言基础_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
96页免费7页免费46页免费21页免费55页免费 12页免费6页免费12页免费108页1下载券162页2下载券
喜欢此文档的还喜欢3页2下载券43页免费2页1下载券5页免费37页1下载券
第二讲_Verilog_HDL语言基础|机​器​语​言
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:424.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 verilog hdl 复习 的文章

 

随机推荐