ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:157.96KB ,
资源ID:6847791      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6847791.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SOPC系统设计与实践知识点.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SOPC系统设计与实践知识点.docx

1、SOPC系统设计与实践知识点SOPC系统设计与实践知识点一 课程概述 1. FPGA: Field Programmable Gate Array 现场可编程门阵列,一类超大规模集成电路芯片,硬件范畴2. SOC:3. SOPC: (P2)System On Programmable Chip 可编程片上系统,系统层级概念,既包括硬件系统也包括软件系统4. HDL:5. VHDL:(P3) Very High Speed Integrated Circuit Hardware Description Language),意为超高速集成电路硬件描述语言。6. 简要论述这门课程的目的。(P3)掌握

2、数字逻辑的基本理论、基本分析和设计方法,具备使用VHDL(Very High Speed Integrated Circuit Hardware Description Language)或Verilog HDL(Hardware Description Language)语言进行数字逻辑设计的能力,熟悉在FPGA上构建嵌入式SOPC硬件系统的方法。 7. 写出本课程所讲述的两部分主要内容。(P5)一个部分是基础的FPGA系统设计,另外一个部分是基于FPGA的嵌入式SOPC系统设计。 8. 写出本课程主要讲解的两个软件和一个硬件开发系统的名称(P5)Quartus II ,Nios II和DE

3、2硬件开发系统 9. 论述本课程内容的三个层次(P67) 基于FPGA芯片的数字逻辑设计 掌握现代EDA技术及其基本概念,熟悉基本设计方法和设计语言,能够实现简单的数字逻辑电路,掌握FPGA芯片的基本结构和功能。 基于FPGA芯片的数字综合系统设计在第一层次的基础上,利用专有开发软件搭建较为复杂的FPGA数字综合系统,掌握FPGA芯片更为复杂的功能 基于FPGA的嵌入式SOPC系统设计 在前两个层次基础上,搭建基于FPGA芯片的嵌入式SOPC系统,涉及到使用专有软件的系统原理设计、系统仿真和调试、程序下载、硬件调试等环节;该部分是本课程的学习重点。二 专业动态1. 论述下国家大力发展集成电路的

4、原因?(P5) 社会发展的需要:集成电路是最能体现知识经济特征的典型产品之一。 经济发展的需要:现代经济发展的数据表明,GDP每增长100元,需要10元左右电子工业产值和12元集成电路产值的支持。2010年,我国集成电路产业销售额1424亿元,同比增长28.4%,设计业销售384亿,同比增长41.9%。2010年集成电路市场增速达29.5%,实现销售额7349.5亿元。目前发达国家信息产业产值已占国民经济总产值的40%60%,国民经济总产值增长部分的65%与集成电路有关。 国家安全的需要:集成电路是信息化的基础,芯片的供应和芯片的安全性问题。 2. 列出7个国家级集成电路设计产业化基地。(P9

5、)北京、上海、杭州、无锡、西安、成都、深圳3. 我国集成电路目前发展遇到的障碍。(P14)资金、技术、人才 4. 集成电路技术演进路线。(P20)一是芯片集成度不断提高。集成电路技术未来一段时间仍将按摩尔定律继续前进,以CPU为代表的芯片集成度和处理能力仍会继续增长,半导体存储器存储容量持续加大。目前32纳米工艺已量产,2012年导入22纳米,2014年导入18纳米。二是功能多样化趋势明显。集成电路产品以价值优先和功能多样化为目标,更加注重集成运算和存储之外的新功能,集成了射频通信、功率控制、无源元件和传感器等功能的产品越来越多,系统级封装(SIP)等先进封装技术应用更加广泛。5. 写出系统集

6、成芯片技术的三个方面的技术。(P39)6. 写出SOC的三种嵌入式核并指出灵活性最高的是哪类核。(P4344) 软核 是用可综合的RTL描述或者通用库元件的网表形式表示的可复用模块。用户须负责实际的实现和版图。(最灵敏) 固核 是指在结构和拓扑针对性能和面积通过版图规划,甚至可用某种工艺技术进行优化的可复用模块。它们以综合好的代码或通过库元件的网表形式存在。 硬核 是指在性能、功率和面积上经过优化并映射到特定工艺技术的可复用模块。它们以完整的布局布线的网表和诸如GDSII(一种版图数据文件格式)格式的固定版图形式存在。7. 列出四种代表性的HDL语言。(P6568) 1. VHDL2.Veri

7、log HDL3. Superlog4. SystemC三 VHDL语言 1. 论述VHDL的特点。(P4)1)支持从系统级(特大型)至门级电路的多层次描述;支持结构描述、行为描述、数据流描述及混合描述。2)支持自底向上(bottom-up)及自顶向下(top-down)的设计;支持模块化、层次化设计;支持函数、过程及自定义程序包和库,可设计共享。3) 支持组合逻辑电路和时序电路;支持延迟功能。4) 使用类属语句进行参数化设计。5) 支持断言语句,报告系统信息和错误信息。6) 数据类型丰富、安全性好,既有预定义数据类型,又可自定义数据类型。 2. 写出利用VHDL描述电路系统的5个定义区及其相

8、应的功能,并且列出第4个定义区中详细定义部分。(P5)1.USE定义区 定义元件库2.PACKAGE定义区 定义使用哪些自定义库3.ENTITY定义区 定义电路实体的外观:I/O接口规格4.ARCHITECTURE定义区 描述电路的内部功能,说明电路执行什么动作或功能Component定义区 信号定义 Behavior Process 描述 Data Flow 描述 Structure 描述5.CONFIGURATION定义区 决定哪一个architecture被使用 (Project) 3. 利用VHDL设计两位二进制数比较器。a和b分别代表两个二进制数;equ是比较器的输出端口。比较器的逻

9、辑功能是:若a=b则输出equ为1,否则equ为0。(P8)4. 在entity的定义中,如果定义成端口表(ports),端口的四种模式分别是什么?(P12)实体说明中的每一个I/O信号称为端口。有四种端口模式: 1)输入(in) 用于时钟输入及各种控制输入,如置位,复位,使能及置数等。 2)输出(out) 通常用作终端输出。 3)缓冲(buffer)允许数据流出端口及内部反馈。允许内部引用该端口的信号。 4)双向(inout) 允许数据流入或流出实体,也用于内部反馈。5. VHDL语言的三种构成要素分别是什么?命名的规则是怎样的?(P16)英文字母、数字和下划线 1)首字符必须是英文字母;

10、2)末字符不能是下划线;并且不允许出现两个连续的下划线; 3)大、小写英文字母等效,可混合输入; 4)VHDL语言的关键字不能作标识符。6. 说明下面几个非法标示符的错误出在哪里?(P17)(1)signal ,(2)old_state_,(3)New#type,(4)8home signal -保留字不能用作基本标识符old_state_ -最后字符不能是下划线;New#type -有非法字符#8home -不能用数字开头7. 定义一个实数型的常数量Us并赋值12.0。(P18)constant Us: real := 12.0; 8. 定义一个整数型的变量j并赋值2.(P20)variab

11、le j : integer := 2;9. 论述信号和变量的不同。(P21)10. 定义一个四位二进制矢量信号量bus。(P22)signal width:integer; signal bus:bit_vector(3 to 0); signal z:bit; z = 1; width = 12; bus = “1010” ;11. 列出信号和变量的赋值符号。(P22)信号赋值号=常量、变量赋值号:=12. 在数据类型中,标量类型包括哪几种?复合类型包括哪几种?(P23)标量类型的数据对象在某一时刻只对应一个值。 整数类型、浮点类型、物理类型和枚举类型复合类型的数据对象在某时刻可持多个值。

12、是单值类型元素的集合。 复合类型包括数组类型和记录类型 13. 列出VHDL中预定义的物理时间类型的几种时间等级,并指出其中最小的时间单位和最常用的时间单位。(P27)fs; -飞秒,相当于10-15秒,VHDL中最小的时间单位ps=1000 fs; -皮秒,相当于10-12秒ns=1000 ps; -纳秒,相当于10-9秒us=1000 ns; -微秒,相当于10-6秒ms=1000 us; -毫秒,相当于10-3秒sec=1000 ms; -秒 最长用?min=60 sec; -分hr=60 min; -时end units; 14. 给出VHDL中数组类型的定义,它包括哪两种类型?(P2

13、8)type bus is array (3 downto 0) of std_logic; type set is array (0 to 7) of integer15. 利用信号类属性中的event属性分别定义“检测时钟在上升沿有效”和“检测时钟在下降沿有效”。(P34)信号类属性有多种类型,其中最为常用的是event属性。 例如:信号clk(std_logic类型)的event属性列写如下: clkevent and clk=1 -1 检测时钟在上升沿有效 clkevent and clk=0 -2 检测时钟在下降沿有效16. 列出VHDL中的几种并行语句类型。(P36)进程语句 并行

14、信号赋值语句 元件例化语句 块语句 断言语句 17. 利用带敏感表的结构体进程实现两位二进制等值比较器。(P38)architecture behave_process of ecomp2 is begin eqcome:process(a,b) -以敏感表(a,b)代替显式wait语句 begin if (a=b)then equ=1 ; else equ= 0; end if; end process eqcome; end behave_process; 18. 利用带wait语句的结构体进程实现两位二进制等值比较器。(P39)与其等效的使用显式wait语句的进程如下: architec

15、ture behave_process of ecomp2 is begin process -无敏感信号表 begin if (a=b)then equ=1 ; else equa(1), i2=b(1), o1=x(1); -名称关联方式 u2: and2 port map (x(0), x(1), equ); end struct;use ieee.std_logic_1164.all; -须再次打开std_logic_1164entity xnor2 is -二端同或门模块,第二层实体 port ( i1, i2 : in std_logic_vector(1 downto 0); o

16、1 : out std_logic); end xnor2; architecture xnor2 of xnor2 is begin o1=i1 xnor i2;end xnor2;use ieee.std_logic_1164.all; -须再次打开std_logic_1164 entity and2 is -二端与门模块,第二层实体 port ( i1, i2 : in std_logic_vector(1 downto 0); o1 : out std_logic); end and2;architecture and2 of and2 is begin o1=i1 and i2;en

17、d and2; 20. 列出VHDL中的几种顺序语句类型。(P49)变量赋值语句 信号赋值语句 if 语句 case 语句 loop 语句 next 语句 exit 语句 null 语句 wait 语句 report 语句 21. 利用变量赋值语句的性质判断下面两个进程最终的a和b的值。(P5051) -第一个进程 signal a: integer :=5; signal b: integer :=10; process(a,b) begin a=b; b x x x x=d; end case; end process mux_1;23. 写出architecture的四种常用描述方式。(

18、P64)行为描述 描述中采用进程语句。数据流描述 描述中采用除进程外的其他并发语句。结构化描述 用来调用低层次设计模块,支持大型设计逻辑分解。混合描述 大型设计中,常采用行为描述与结构描述相结合的混合描述。24. 程序包由哪两个部分构成?两个部分的对外特性区别是怎样的?在程序中如何使用程序包?(P65)程序包说明和程序包体只有在程序包说明部分说明的标识符在程序包之外可见,在包体部分中说明的标识符对其他设计不可见;使用之前必须先用use语句将程序包打开再进行调用。 25. 设计42线优先编码器.(P7576)library ieee;use ieee.std_logic_1164.all;ent

19、ity encoder isport(in0,in1,in2,in3:in std_logic; out0,out1:out std_logic);end;architecture behave of encoder issignal ou:std_logic_vector (1 downto 0);begin ou=11 when in3=1 else 10 when in2=1 else 01 when in1=1 else 00 when in0=1 else 00;out1=ou(1); out0=ou(0); end behave; 26. 设计一位十进制编码器。(P7778)lib

20、rary ieee;use ieee.std_logic_1164.all;entity decode is port(in0,in1,in2,in3,in4,in5,in6,in7,in8,in9 : in std_logic;out_decode : out std_logic_vector(3 downto 0);end decode;architecture behave of decode is signal s_vec : std_logic_vector(9 downto 0) ;begin s_vec=(in9, in8, in7, in6, in5, in4, in3, in

21、2, in1, in0); with s_vec select out_decode= 1001 when 1000000000, -数字9 1000 when 0100000000, -数字8 0111 when 0010000000, -数字7 0110 when 0001000000, -数字6 0101 when 0000100000, -数字5 0100 when 0000010000, -数字4 0011 when 0000001000, -数字3 0010 when 0000000100, -数字2 0001 when 0000000010, -数字1 0000 when oth

22、ers; -数字0end behave; 27. 设计JK触发器。(P8182)library ieee;use ieee.std_logic_1164.all;entity jkff is port(clk,j,k : in std_logic; q,notq : out std_logic);end jkff;architecture behave of jkff is signal q_temp : std_logic;signal jk:std_logic_vector(1 downto 0);begin jk=j&k; -注意此处连接符的使用process(clk,jk)begin

23、if (clkevent and clk=1) then if (jk=01) then q_temp=0; elsif (jk=10) then q_temp=1; elsif(jk=11) then q_temp=not q_temp; end if; end if; q=q_temp; notq=not q_temp;end process;end behave; 28. 设计四位双向移位寄存器。(P8384)library ieee; use ieee.std_logic_1164.all; entity shift is port(clk,rst,load,left_right :

24、in std_logic; -时钟、复位、置数、移位控制信号 din : in std_logic_vector(3 downto 0); -预置数输入信号 dout : inout std_logic_vector(3 downto 0); -输出信号 end shift;architecture behave of shift is constant len: integer:=3; begin process (clk,rst,load,left_right,din) begin if rst=1 then dout=”0000”; -异步复位 elsif rising_edge(clk) then if (load=1) then dout=din; -同步置数 elsif (left_right=0) then -循环右移 dout=dout(0)&dout(len downto 1); elsif(left_right=1) then -循环左移 dout=dout(len-1 downto 0)&dout(3); end if; end if;end process;end behave;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1