《2022年SOPC系统设计与实践知识点范文131 .pdf》由会员分享,可在线阅读,更多相关《2022年SOPC系统设计与实践知识点范文131 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、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 和 DE2 硬件开发
3、系统9. 论述本课程内容的三个层次(P67)基于 FPGA 芯片的数字逻辑设计掌握现代EDA 技术及其基本概念,熟悉基本设计方法和设计语言,能够实现简单的数字逻辑电路,掌握FPGA 芯片的基本结构和功能。基于 FPGA 芯片的数字综合系统设计在第一层次的基础上,利用专有开发软件搭建较为复杂的FPGA 数字综合系统,掌握FPGA 芯片更为复杂的功能基于 FPGA 的嵌入式SOPC 系统设计在前两个层次基础上,搭建基于FPGA 芯片的嵌入式SOPC 系统,涉及到使用专有软件的系统原理设计、系统仿真和调试、程序下载、硬件调试等环节;该部分是本课程的学习重点。二 专业动态名师归纳总结 精品学习资料 -
4、 - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 1. 论述下国家大力发展集成电路的原因?(P5)?社会发展的需要:集成电路是最能体现知识经济特征的典型产品之一。?经济发展的需要:现代经济发展的数据表明,GDP 每增长 100 元,需要10元左右电子工业产值和12 元集成电路产值的支持。2010 年,我国集成电路产业销售额 1424 亿元,同比增长28.4%,设计业销售384 亿,同比增长41.9%。2010年集成电路市场增速达29.5%,
5、实现销售额7349.5 亿元。目前发达国家信息产业产值已占国民经济总产值的40%60%,国民经济总产值增长部分的65%与集成电路有关。?国家安全的需要:集成电路是信息化的基础,芯片的供应和芯片的安全性问题。2. 列出 7 个国家级集成电路设计产业化基地。(P9)北京、上海、杭州、无锡、西安、成都、深圳3. 我国集成电路目前发展遇到的障碍。 (P14)资金、技术、人才4. 集成电路技术演进路线。(P20)一是芯片集成度不断提高。集成电路技术未来一段时间仍将按摩尔定律继续前进,以CPU 为代表的芯片集成度和处理能力仍会继续增长,半导体存储器存储容量持续加大。目前 32 纳米工艺已量产,2012 年
6、导入 22 纳米, 2014 年导入 18 纳米。二是功能多样化趋势明显。集成电路产品以价值优先和功能多样化为目标,更加注重集成运算和存储之外的新功能,集成了射频通信、功率控制、无源元件和传感器等功能的产品越来越多,系统级封装(SIP)等先进封装技术应用更加广泛。5. 写出系统集成芯片技术的三个方面的技术。 (P39)名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 6. 写出 SOC 的三种嵌入式核并指出灵活
7、性最高的是哪类核。 (P4344)?软核是用可综合的RTL 描述或者通用库元件的网表形式表示的可复用模块。用户须负责实际的实现和版图。(最灵敏)?固核是指在结构和拓扑针对性能和面积通过版图规划,甚至可用某种工艺技术进行优化的可复用模块。它们以综合好的代码或通过库元件的网表形式存在。?硬核是指在性能、功率和面积上经过优化并映射到特定工艺技术的可复用模块。它们以完整的布局布线的网表和诸如GDSII (一种版图数据文件格式)格式的固定版图形式存在。7. 列出四种代表性的HDL 语言 。 (P6568)1. VHDL2.Verilog HDL3. Superlog4. SystemC三 VHDL 语言
8、1. 论述 VHDL的特点 。 (P4)1) 支持从系统级(特大型)至门级电路的多层次描述;支持结构描述、行为描述、数据流描述及混合描述。2) 支持自底向上(bottom-up)及自顶向下(top-down)的设计;支持模块化、层次化设计;支持函数、过程及自定义程序包和库,可设计共享。3) 支持组合逻辑电路和时序电路;支持延迟功能。4) 使用类属语句进行参数化设计。5) 支持断言语句,报告系统信息和错误信息。6) 数据类型丰富、安全性好,既有预定义数据类型,又可自定义数据类型。2. 写出利用VHDL描述电路系统的5 个定义区及其相应的功能,并且列出第4 个定义区中详细定义部分。 (P5)1.U
9、SE 定义区定义元件库2.PACKAGE 定义区定义使用哪些自定义库3.ENTITY定义区定义电路实体的外观:I/O 接口规格4.ARCHITECTURE定义区描述电路的内部功能,说明电路执行什么动作或功能 Component 定义区信号定义Behavior Process 描述Data Flow 描述Structure 描述5.CONFIGURATION定义区决定哪一个architecture 被使用名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 12
10、 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 12 页 - - - - - - - - - ( Project)3. 利用 VHDL设计两位二进制数比较器。a 和 b 分别代表两个二进制数;equ 是比较器的输出端口。比较器的逻辑功能是:若a=b 则输出 equ 为 1,否则 equ 为 0。 (P8)4. 在 entity 的定义中,如果定义成端口表(ports ) ,端口的四种模式分别是什么?(P12)实体
11、说明中的每一个I/O 信号称为端口。有四种端口模式:1)输入( in)用于时钟输入及各种控制输入,如置位,复位,使能及置数等。2)输出( out)通常用作终端输出。3)缓冲( buffer)允许数据流出端口及内部反馈。允许内部引用该端口的信号。4)双向( inout)允许数据流入或流出实体,也用于内部反馈。5. VHDL语言的三种构成要素分别是什么?命名的规则是怎样的?(P16)英文字母、数字和下划线1)首字符必须是英文字母;2)末字符不能是下划线;并且不允许出现两个连续的下划线;3)大、小写英文字母等效,可混合输入;4)VHDL 语言的关键字不能作标识符。6. 说明下面几个非法标示符的错误出
12、在哪里?(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)variable j : integer := 2;名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料
13、 - - - - - - - - - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 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)标量类型的数据对象在某一时
14、刻只对应一个值。整数类型、浮点类型、物理类型和枚举类型复合类型的数据对象在某时刻可持多个值。是单值类型元素的集合。复合类型包括数组类型和记录类型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=
15、60 min; -时end units;名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 14. 给出 VHDL中数组类型的定义,它包括哪两种类型?(P28)type bus is array (3 downto 0) of std_logic;type set is array ( 0 to 7) of integer15. 利用信号类属性中的 event 属性分别定义“检测时钟在上升沿有效”和“检测时钟在下
16、降沿有效” 。 ( P34)信号类属性有多种类型,其中最为常用的是event 属性。例如:信号clk(std_logic 类型)的 event 属性列写如下:clk event and clk= 1 -1 检测时钟在上升沿有效clk event and clk= 0 -2 检测时钟在下降沿有效16. 列出 VHDL中的几种并行语句类型。(P36)进程语句并行信号赋值语句元件例化语句块语句断言语句17. 利用带敏感表的结构体进程实现两位二进制等值比较器。(P38)architecture behave_process of ecomp2 is begin eqcome: process(a,b)
17、-以敏感表( a,b)代替显式wait 语句beginif (a=b)then equ= 1 ;else equ= 0;end if;end process eqcome ;end behave_process ;18. 利用带 wait 语句的结构体进程实现两位二进制等值比较器。 (P39)与其等效的使用显式wait 语句的进程如下:architecture behave_process of ecomp2 is begin process -无敏感信号表beginif (a=b)then equ= 1 ;else equa(1), i2=b(1), o1=x(1); -名称关联方式u2:
18、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) ;o1 : out std_logic ) ;end xnor2; architecture xnor2 of xnor2 is begin o1=i1 xnor i2;end xnor2;use ieee.std_logic_1164.all;-须再次打开
19、std_logic_1164entity and2 is -二端与门模块,第二层实体port ( i1, i2 : in std_logic_vector ( 1 downto 0) ;名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 12 页 - - - - - - - - - o1 : out std_logic ) ;end and2;architecture and2 of and2 is begin o1=i1 and i2;end and2;2
20、0. 列出 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)begina=b; b x x x x=d;end case;end process mux_1;23. 写出 architecture的四种常用描述方式。 ( P64)行为描述描述中采用进程
21、语句。数据流描述描述中采用除进程外的其他并发语句。结构化描述用来调用低层次设计模块,支持大型设计逻辑分解。混合描述大型设计中,常采用行为描述与结构描述相结合的混合描述。24. 程序包由哪两个部分构成?两个部分的对外特性区别是怎样的?在程序中如何使用程序包? (P65)程序包说明和程序包体只有在程序包说明部分说明的标识符在程序包之外可见,在包体部分中说明的标识符对其他设计不可见;使用之前必须先用use语句将程序包打开再进行调用。25. 设计 42线优先编码器.(P7576)library ieee;use ieee.std_logic_1164.all;entity encoder isport
22、(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);beginou=11 when in3=1 else10 when in2=1 else01 when in1=1 else00 when in0=1 else00;out1=ou(1); out0=ou(0);end behave; 26. 设计一位十进制编码器。(P7778)library ieee;use ieee.std_lo
23、gic_1164.all;entity decode is port(in0,in1,in2,in3,in4,in5,in6,in7,in8,in9 : in std_logic;名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 12 页 - - - - - - - - - out_decode : out std_logic_vector(3 downto 0);end decode;architecture behave of decode is s
24、ignal s_vec : std_logic_vector(9 downto 0) ;begins_vec=( in9, in8, in7, in6, in5, in4, in3, in2, in1, in0);with s_vec select out_decode= 1001 when , -数字 91000 when , -数字 80111 when , -数字 70110 when , -数字 60101 when , -数字 50100 when , -数字 40011 when , -数字 30010 when , -数字 20001 when , -数字 10000 when
25、others; -数字 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);beginjk=j&k; -注意此处连接符的使用process(clk,jk)be
26、ginif (clkevent and clk=1) thenif (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; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 12 页 - - - - - - - -
27、 - 28. 设计四位双向移位寄存器。(P8384)library ieee;use ieee.std_logic_1164.all;entity shift is port(clk,rst,load,left_right : 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: integ
28、er:=3;beginprocess (clk,rst,load,left_right,din)beginif 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; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 12 页 - - - - - - - - -