欢迎来到天天文库
浏览记录
ID:40234942
大小:326.00 KB
页数:25页
时间:2019-07-27
《EDA技术赛前培训》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、EDA技术赛前培训电子信息工程研究所:李大宇个人简介姓名:李大宇——电子信息工程研究所办公室:老主楼524Email:lidayu@ise.neu.edu.cn电话:135-5590-2261(请短信联系)内容概要硬件描述语言的设计思维及代码风格组合逻辑电路的设计时序逻辑电路的设计存储器设计有限状态机实用模块设计系统设计范例硬件描述语言的设计思维及代码风格面向硬件电路的设计思维面积和速度的转换原则同步电路的设计原则好的代码风格面向硬件电路的设计思维HDL代码的本质是为了描述硬件HDL与软件语言C/C++不同,本质在于描述硬件,评价HDL代码优劣的最终标准是其描述并
2、实现的硬件电路的性能;避免片面追求代码的整洁、简短,这是错误的,与评价HDL的标准背道而驰的!正确的编码方法是,对所需实现的硬件电路的结构与连接十分清晰,然后再用适当的HDL语句表达出来即可。实例entityTestisPort(a:inSTD_LOGIC_VECTOR(1downto0);d0:inSTD_LOGIC;d1:inSTD_LOGIC;d2:inSTD_LOGIC;d3:inSTD_LOGIC;q:outSTD_LOGIC);endTest;实例architectureBehavioralofTestisbeginPROCESS(a,d0,d1,d2
3、,d3)beginCASEaISWHEN"00"=>q<=d0;WHEN"01"=>q<=d1;WHEN"10"=>q<=d2;WHEN"11"=>q<=d3;WHENOTHERS=>q<=‘-';ENDCASE;ENDPROCESS;endBehavioral;RTLSchematicTechnologySchematic如果用if代码?面向硬件电路的设计思维程序的并行执行特点HDL语言用于电路描述,代表着门电路和触发器电路;芯片的各个模块同时工作;以并行思维来考虑算法结构。面向硬件电路的设计思维时钟是程序的执行控制器通过时间的精确定位获取严格的先后关系,来实现
4、串行控制功能;例:假设全部事件需要5个时钟周期,那么利用一个周期为5的循环计数器来实现。在计数器为1时,完成事件1;在计数器为2的时候,完成事件2;……如此循环即可。面积和速度的转换原则“面积”主要是指设计所占用的FPGA逻辑资源数目,即利用所消耗的触发器(FF)和查找表(LUT)来衡量。“速度”指在芯片上稳定运行时所能够达到的最高频率。面积和速度是对立和统一的矛盾体。面积和速度的转换原则同步电路的设计原则同步电路的优点:可以有效避免毛刺的影响,提高设计可靠性;可以简化时序分析过程;可以减少工作环境对设计的影响。好的代码风格文件头模块名文件名需要的库模块描述使用的
5、仿真器——其运行平台和版本使用的综合工具,其运行平台和版本作者名字和e-mail好的代码风格修订列表修订版本号改动的数据修订者名字和e-mail改动的详细描述联机注释每一个重要的操作和定义后都要加上注释,描述操作和声明的使用。好的代码风格命名规则——实体和结构实体名要确切描述其功能。命名规则——端口端口名应和信号相对应;若端口是标准设备,可包含标准名,不超过15个字符;端口声明后要有详细注释。好的代码风格命名规则——结构体构造体名可用“behavioural”表示行为描述,“structural”表示结构描述,“RTL”表示寄存器描述等;在“ARCHITECTUR
6、E”语句前要有一行注释,说明其功能,并说明是否可综合,或仅可仿真。好的代码风格命名规则——元件component其名称以包或实体的缩略名作开头;可取有实际意义的单词,大小写可混用,最好不要超过8个字符。命名规则——配置配置名中要包含顶层设计名;以大写字母开头,不超过15个字符。好的代码风格命名规则——包、函数和过程包中要包含系统所需定义的所有常量,数据类型,模块,过程和函数;包名以大写字母开头,不超过15个字符。函数和过程以大写字母开头,不超过10个字母;函数和过程要体现其功能,用前缀“l_”表示局部变量;好的代码风格命名规则——常量和类属说明用大写字母,要明确描
7、述常量的用法。命名规则——信号第一个符号必须是字母,信号名要描述其功能,不超过15个字符;头三个字母要显示说明驱动模块的类型,要把其驱动实体,模块或进程缩略名加在前面;好的代码风格命名规则——信号如果信号只是在仅有时钟的进程中获得其值的,则加“_q”,若是总线则加“_reg”信号定义语句后要有一行注释描述其功能;信号名要表明信号的极性:低电平有效/负逻辑(N);全局信号“G”,局部信号“L”;若是三态信号,加Z;好的代码风格命名规则——变量变量名要简单并能描述其功能;变量名可包含各种格式的字母、数字和下划线;变量名要确切的表示其行为。好的代码风格命名规则——进程所
8、有进程必须
此文档下载收益归作者所有