EDA与VHDL作业(1)

来源:互联网 发布:项城市乡镇人口数据 编辑:程序博客网 时间:2024/04/26 03:59

提要:

  • 该系列的文章都是记录现在学校开的课程“EDA技术与VHDL”,书是潘松编写的第四版。记录的大部分都是作业题,或者实验例程,以后可能并不会从事这方面的工作,即使是,也会使用verilog描述语言而不是VHDL,但本着多学不坏的想法,认认真真的学习这一门课程也是应该的。该系列仅仅记录与上课课程相关的作业和实验例子,工程领域不会涉及。

1.IP在EDA技术的应用发展中的意义的什么?(来自百度描述)
IP(知识产权)核将一些在数字电路中常用,但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等设计成可修改参数的模块。随着CPLD/FPGA的规模越来越大,设计越来越复杂(IC的复杂度以每年55%的速率递增,而设计能力每年仅提高21%),设计者的主要任务是在规定的时间周期内完成复杂的设计。调用IP核能避免重复劳动,大大减轻工程师的负担,因此使用IP核是一个发展趋势,IP核的重用大大缩短了产品上市时间。
利用IP核设计电子系统,引用方便,修改基本元件的功能容易。具有复杂功能和商业价值的IP核一般具有知识产权,尽管IP核的市场活动还不规范,但是仍有许多集成电路设计公司从事IP核的设计、开发和营销工作。

IP内核的三种类型:
IP核有三种不同的存在形式:HDL语言形式,网表形式、版图形式。分别对应我们常说的三类IP内核:软核、固核和硬核。这种分类主要依据产品交付的方式,而这三种IP内核实现方法也各具特色。
软核
软核是用VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。软IP通常是以硬件描述语言HDL源文件的形式出现,应用开发过程与普通的HDL设计也十分相似,只是所需的开发硬软件环境比较昂贵。软IP的设计周期短,设计投入少。由于不涉及物理实现,为后续设计留有很大的发挥空间,增大了IP的灵活性和适应性。其主要缺点是在一定程度上使后续工序无法适应整体设计,从而需要一定程度的软IP修正,在性能上也不可能获得全面的优化。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。
硬核
硬核提供设计阶段最终阶段产品:掩膜。以经过完全的布局布线的网表形式提供,这种硬核既具有可预见性,同时还可以针对特定工艺或购买商进行功耗和尺寸上的优化。尽管硬核由于缺乏灵活性而可移植性差,但由于无须提供寄存器转移级(RTL)文件,因而更易于实现IP保护。
固核
固核则是软核和硬核的折衷。大多数应用于FPGA的IP内核均为软核,软核有助于用户调节参数并增强可复用性。软核通常以加密形式提供,这样实际的 RTL对用户是不可见的,但布局和布线灵活。在这些加密的软核中,如果对内核进行了参数化,那么用户就可通过头文件或图形用户接口(GUI)方便地对参数进行操作。对于那些对时序要求严格的内核(如PCI接口内核),可预布线特定信号或分配特定的布线资源,以满足时序要求。这些内核可归类为固核,由于内核是预先设计的代码模块,因此这有可能影响包含该内核的整体设计。由于内核的建立(setup)、保持时间和握手信号都可能是固定的,因此其它电路的设计时都必须考虑与该内核进行正确地接口。如果内核具有固定布局或部分固定的布局,那么这还将影响其它电路的布局。
ps:写作业本上当然不会这么写,就写第一段OK了。

2.叙述EDA在FPGA/CPLD设计流程,以及涉及的EDA工具及其在整个流程中的作用。(来自百度知道)
1)设计输入(包括原理图输入和HDL文本编辑,EDA可以提供文本编辑工具)
2)综合,将输入的原理图或者HDL文本根据硬件的约束条件进行编译综合,EDA工具提供了综合器
3)适配,此过程EDA工具貌似没什么用
4)时序仿真与功能仿真,EDA工具提供仿真工具
5)编程下载,分不同的方式
6)硬件测试
ps : 别人总结好了的,就不需要再翻书做总结了,拒接无意义的造轮子,但是编程实践的东西还是需要造轮子的,我的准则是:学习即模仿。

3.说明端口模式INOUT和BUFFER有何异同点。(来自百度知道)
INOUT为输入输出双向端口,即从端口内部看,可以对端口进行赋值,即输出数据。也可以从此端口读入数据,即输入。
BUFFER为缓冲端口,功能与INOUT类似,区别在于当需要读入数据时,只允许内部回读内部产生的输出信号,即反馈。举个例子,设计一个计数器的时候可以将输出的计数信号定义为BUFFER,这样回读输出信号可以做下一计数值的初始值。

4.画出一下实体描述对应的原理图符号元件:

ENTITY buf3s IS    PORT (input : IN STD_LOGIC;         enable : IN STD_LOGIC;         output : OUT STD_LOGIC);   END buf3x;ENTITY mux21 IS    PORT (in0, in1, sel : IN STD_LOGIC;          output : OUT STD_LOGIC);       

这里描述图片

ps:这个学期实验课最多了,等实验课开始,一周基本上没时间写记录了,还有各种实验报告等着抄的,真不知道天天抄有啥用,还不如做课设,只需要一篇论文就好了,那才能真正学到东西,要是这边实验室老师那天突然有紧急任务要干,那我就GG了,写博客又得断断续续了。

原创粉丝点击