投稿指南
来稿应自觉遵守国家有关著作权法律法规,不得侵犯他人版权或其他权利,如果出现问题作者文责自负,而且本刊将依法追究侵权行为给本刊造成的损失责任。本刊对录用稿有修改、删节权。经本刊通知进行修改的稿件或被采用的稿件,作者必须保证本刊的独立发表权。 一、投稿方式: 1、 请从 我刊官网 直接投稿 。 2、 请 从我编辑部编辑的推广链接进入我刊投审稿系统进行投稿。 二、稿件著作权: 1、 投稿人保证其向我刊所投之作品是其本人或与他人合作创作之成果,或对所投作品拥有合法的著作权,无第三人对其作品提出可成立之权利主张。 2、 投稿人保证向我刊所投之稿件,尚未在任何媒体上发表。 3、 投稿人保证其作品不含有违反宪法、法律及损害社会公共利益之内容。 4、 投稿人向我刊所投之作品不得同时向第三方投送,即不允许一稿多投。 5、 投稿人授予我刊享有作品专有使用权的方式包括但不限于:通过网络向公众传播、复制、摘编、表演、播放、展览、发行、摄制电影、电视、录像制品、录制录音制品、制作数字化制品、改编、翻译、注释、编辑,以及出版、许可其他媒体、网站及单位转载、摘编、播放、录制、翻译、注释、编辑、改编、摄制。 6、 第5条所述之网络是指通过我刊官网。 7、 投稿人委托我刊声明,未经我方许可,任何网站、媒体、组织不得转载、摘编其作品。

Verilog HDL语言在FPGA/CPLD中的应用

来源:微电子学与计算机 【在线投稿】 栏目:综合新闻 时间:2020-08-03
作者:网站采编
关键词:
摘要:关注 文章 浏览量 1 引言 近30年来,由于微电子学和计算机科学的迅速发展,给EDA(电子设计自动化)行业带来了巨大的变化。特别是进入20世纪90年代后,电子系统已经从电路板级系统集

关注

文章

浏览量

1 引言

近30年来,由于微电子学和计算机科学的迅速发展,给EDA(电子设计自动化)行业带来了巨大的变化。特别是进入20世纪90年代后,电子系统已经从电路板级系统集成发展成为包括ASIC、FPGA和嵌入系统的多种模式。可以说EDA产业已经成为电子信息类产品的支柱产业。EDA之所以能蓬勃发展的关键因素之一就是采用了硬件描述语言(HDL)描述电路系统。就FPGA和CPLD开发而言,比较流行的HDL主要有Verilog HDL、VHDL、ABEL-HDL和 AHDL 等,其中VHDL和Verilog HDL因适合标准化的发展方向而最终成为IEEE标准。但与VHDL相比,Verilog HDL有个最大的优点:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,一般经过2~3个月的认真学习和实际操作就能掌握这种设计技术。并且完成同一功能Verilog HDL的程序条数一般仅为VHDL的1/3。而VHDL设计技术则不很直观,需要有EDA编程基础,通常需要有多余半年的专业培训才能掌握这们技术。可见,用Verilog HDL语言有更高的优越性。

2 设计实例

通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法,这比传统自下向上的EDA设计方法有更明显的优势(当时的主要设计文件是电路图)。因为由自顶向下的设计过程可以看出,从总体行为设计开始到最终逻辑综合,形成网络表为止。每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。这也是HDL语言设计系统硬件的最突出的优点之一。并且在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述。而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。在系统的底层设计中,由于其对系统很强的行为描述能力,可以不必使系统层层细化,从而避开具体的器件结构,从逻辑行为上直接对模块进行描述和设计,随后EDA设计软件或相应的第三方工具软件中的综合器将程序自动综合成为具体FPGA/CPLD等目标芯片的网表文件,这种避开具体器件结构的方式也是它的重要优势之一。

下面以序列检测器的设计为例具体说明。

序列检测器是时序数字电路中非常常见的设计之一。它的主要功能是:将一个指定的序列从数字码流中识别出来。接下来就以设计"01101"这个序列的检测器为例,说明Verilog HDL语言的具体应用。设X为数字码流输入,Z为检出标记输出,高电平表示"发现指定序列",低电平表示"没有发现指定的序列"。设输入的码流为".。。",则其序列检测器的逻辑功能如表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,rst;

output z;

reg[2:0] state;

wire z;

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)

begin

state《=IDLE;

en

文章来源:《微电子学与计算机》 网址: http://www.wdzxyjsjzz.cn/zonghexinwen/2020/0803/349.html



上一篇:微电子科学与工程专业就业前景,陈晟老师解读
下一篇:电子科技大学专业介绍:微电子学与固体电子学

微电子学与计算机投稿 | 微电子学与计算机编辑部| 微电子学与计算机版面费 | 微电子学与计算机论文发表 | 微电子学与计算机最新目录
Copyright © 2018 《微电子学与计算机》杂志社 版权所有
投稿电话: 投稿邮箱: