论文部分内容阅读
摘 要:硬件描述语言是EDA技术的重要组成部分,因此学习和掌握一种HDL是集成电路设计者必备的基础知识。作者以七人表决器为载体,介绍了Verilog中循环语句的各自特点和具体的使用方法。
关键词:Verilog;循环语句;EDA
中图分类号:TP312
当代数字电路系统设计中,电子设计自动化(EDA)技术已成为支撑电子设计的通用平台,并逐步向支持系统级的设计发展。采用硬件描述语言(HDL )设计复杂专用集成电路(ASIC)和可编程专用集成电路(CPLD/FPGA)成为一种必然选择,因此,硬件描述语言是集成电路设计者必备的基础知识。
1 Verilog简介
硬件描述语言包括VHDL和Verilog,它们都是IEEE标准硬件描述语言,从描述能力来说,两者类似。其中Verilog是由C语言发展而来的,语法与C语言类似,比较自由宽松,易学易用,如果有C语言的编程经验,可以很快的學习和掌握。而相比之下,VHDL的语法则要严格许多,学习要困难一些。现在多数IC设计公司以Verilog语言进行设计,且大多设计者都有C语言程序设计的基础。因此宜选择Verilog语言作为学习语言。下面就Verilog中循环语句的学习进行一些总结。
2 比较法学习Verilog HDL中循环语句
Verilog HDL中提供了4种循环语句:for循环、while循环、forever循环和repeat循环,掌握较困难,笔者根据自身教学经验,总结出比较法进行学习的。比较法就是使用不同的循环语句来描述同一个电路,以达到比较各个循环语句的使用方法和结构特点的目的。本文所选电路为七人表决器。
七人表决器设计要求是:七个人进行投票表决,超过半数同意通过,否则不通过。则设a为表决信号,1表示同意,0表示不同意。Pass表示通过信号,1表示通过,0表示不通过。编程的重点和要求就是对输入信号a中每一位的遍历判断,如果是1,则计数,如果是0,则不计数。各种循环由于自身语法结构的特点,遍历的方式不同。下面分别进行介绍。
3 四种循环语句的描述3.1 for语句
3.2 While语句
3.3 Repeat语句
4 结束语
通过比较,能够非常明确看到,while与repeat实现电路的程序很相识,都是通过移位到最低位的方法实现对输入的遍历,但是while是通过循环条件控制循环,repeat是直接有明确循环次数,而for语句由于循环变量的存在,对输入的遍历和循环条件的控制十分便利。
参考文献:
[1]王诚,蔡海宁,吴继华.Altera FPGA/CPLD设计[M].北京:人民邮电出版社,2011.
[2]金琳.基于EDA技术的频率计系统设计[D].长春:吉林大学,2007.
[3]杨恒,卢飞成.FPGA/VHDL快速工程实践人门与提高[M].北京:北京航空航天大学出版社.
作者简介:汪小涵(1982-),九州职业技术学院机电工程系,讲师,大学本科,专业方向:电子技术、EDA技术。
关键词:Verilog;循环语句;EDA
中图分类号:TP312
当代数字电路系统设计中,电子设计自动化(EDA)技术已成为支撑电子设计的通用平台,并逐步向支持系统级的设计发展。采用硬件描述语言(HDL )设计复杂专用集成电路(ASIC)和可编程专用集成电路(CPLD/FPGA)成为一种必然选择,因此,硬件描述语言是集成电路设计者必备的基础知识。
1 Verilog简介
硬件描述语言包括VHDL和Verilog,它们都是IEEE标准硬件描述语言,从描述能力来说,两者类似。其中Verilog是由C语言发展而来的,语法与C语言类似,比较自由宽松,易学易用,如果有C语言的编程经验,可以很快的學习和掌握。而相比之下,VHDL的语法则要严格许多,学习要困难一些。现在多数IC设计公司以Verilog语言进行设计,且大多设计者都有C语言程序设计的基础。因此宜选择Verilog语言作为学习语言。下面就Verilog中循环语句的学习进行一些总结。
2 比较法学习Verilog HDL中循环语句
Verilog HDL中提供了4种循环语句:for循环、while循环、forever循环和repeat循环,掌握较困难,笔者根据自身教学经验,总结出比较法进行学习的。比较法就是使用不同的循环语句来描述同一个电路,以达到比较各个循环语句的使用方法和结构特点的目的。本文所选电路为七人表决器。
七人表决器设计要求是:七个人进行投票表决,超过半数同意通过,否则不通过。则设a为表决信号,1表示同意,0表示不同意。Pass表示通过信号,1表示通过,0表示不通过。编程的重点和要求就是对输入信号a中每一位的遍历判断,如果是1,则计数,如果是0,则不计数。各种循环由于自身语法结构的特点,遍历的方式不同。下面分别进行介绍。
3 四种循环语句的描述3.1 for语句
3.2 While语句
3.3 Repeat语句
4 结束语
通过比较,能够非常明确看到,while与repeat实现电路的程序很相识,都是通过移位到最低位的方法实现对输入的遍历,但是while是通过循环条件控制循环,repeat是直接有明确循环次数,而for语句由于循环变量的存在,对输入的遍历和循环条件的控制十分便利。
参考文献:
[1]王诚,蔡海宁,吴继华.Altera FPGA/CPLD设计[M].北京:人民邮电出版社,2011.
[2]金琳.基于EDA技术的频率计系统设计[D].长春:吉林大学,2007.
[3]杨恒,卢飞成.FPGA/VHDL快速工程实践人门与提高[M].北京:北京航空航天大学出版社.
作者简介:汪小涵(1982-),九州职业技术学院机电工程系,讲师,大学本科,专业方向:电子技术、EDA技术。