2022年SOPC系统设计与实践知识点范文.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -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)把握数字规律的基本理论、基本分析和设计方法,具备使用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 硬件开发系统9. 论述本课程内容的三个层次(P67)基于 FPGA 芯片的数字规律设计把握现代 EDA 技术及其基本概念,熟识基本设计方法和设计语言,能够实现简洁的数字规律电路,把握 FPGA 芯片的基本结构和功能;基于 FPGA 芯片的数字综合系统设计在第一层次的基础上,利用专有开发软件搭建较为复杂的 FPGA 芯片更为复杂的功能 基于 FPGA 的嵌入式 SOPC 系统设计FPGA 数字综合系统,把握在前两个层次基础上,搭建基于FPGA 芯片的嵌入式SOPC 系统,涉及到使用专有软件的系统原理设计、系统仿真和调试、程序下载、硬件调试等环节;该部分是本课程的学习重点;二 专业动态细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1. 论述下国家大力进展集成电路的缘由?( P5).社会进展的需要:集成电路是最能表达学问经济特点的典型产品之一;.经济进展的需要:现代经济进展的数据说明,GDP 每增长 100 元,需要 10元左右电子工业产值和 12 元集成电路产值的支持;2022 年,我国集成电路产业销售额 1424 亿元,同比增长 28.4%,设计业销售 384 亿,同比增长 41.9%;2022年集成电路市场增速达 29.5%,实现销售额 7349.5 亿元;目前发达国家信息产业产值已占国民经济总产值的 40%60%,国民经济总产值增长部分的 65%与集成电路有关;.国家安全的需要:集成电路是信息化的基础,芯片的供应和芯片的安全性问题;2. 列出 7 个国家级集成电路设计产业化基地;(P9)北京、上海、杭州、无锡、西安、成都、深圳3. 我国集成电路目前进展遇到的障碍;(P14)资金、技术、人才4. 集成电路技术演进路线; (P20)一是芯片集成度不断提高;集成电路技术将来一段时间仍将按摩尔定律连续前进,以CPU 为代表的芯片集成度和处理才能仍会连续增长,半导体储备器储备容量连续加大;目前 32 纳米工艺已量产,2022 年导入 22 纳米, 2022 年导入 18 纳米;二是功能多样化趋势明显;集成电路产品以价值优先和功能多样化为目标,更加留意集成运算和储备之外的新功能,集成了射频通信、功率掌握、无源元件和传感器等功能的产品越来越多,系统级封装SIP 等先进封装技术应用更加广泛;(P39) 第 2 页,共 12 页 5. 写出系统集成芯片技术的三个方面的技术细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -6. 写出 SOC 的三种嵌入式核并指出敏捷性最高的是哪类核;(P4344). 软核 是用可综合的 RTL 描述或者通用库元件的网表形式表示的可复用模块;用户须负责实际的实现和版图;(最灵敏). 固核 是指在结构和拓扑针对性能和面积通过版图规划,甚至可用某种工艺技术进行优化的可复用模块;它们以综合好的代码或通过库元件的网表形式存在;.硬核是指在性能、功率和面积上经过优化并映射到特定工艺技术的可复用模块;它们以完整的布局布线的网表和诸如 版图形式存在;GDSII (一种版图数据文件格式)格式的固定7. 列出四种代表性的 HDL 语言 ;(P6568)1. VHDL2.Verilog HDL3. Superlog4. SystemC三 VHDL 语言1. 论述 VHDL 的特点 ;(P4)1)支持从系统级(特大型)至门级电路的多层次描述;支持结构描述、行为描述、数据流描述及混合描述;2)支持自底向上(bottom-up )及自顶向下(top-down )的设计;支持模块化、层次化设计;支持函数、过程及自定义程序包和库,可设计共享;3)支持组合规律电路和时序电路;支持推迟功能;4)使用类属语句进行参数化设计;5)支持断言语句,报告系统信息和错误信息;6)数据类型丰富、安全性好,既有预定义数据类型,又可自定义数据类型;2. 写出利用 VHDL 描述电路系统的 5 个定义区及其相应的功能,并且列出第 4 个定义区中具体定义部分; (P5)1.USE 定义区定义区定义元件库2.PACKAGE 定义区定义使用哪些自定义库3.ENTITY定义区定义电路实体的外观:I/O 接口规格4.ARCHITECTURE描述电路的内部功能,说明电路执行什么动作或功能 Component 定义区信号定义Behavior Process 描述Data Flow 描述 Structure 描述细心整理归纳 精选学习资料 5.CONFIGURATION定义区打算哪一个architecture 被使用 第 3 页,共 12 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -( Project)3. 利用 VHDL设计两位二进制数比较器;a 和 b 分别代表两个二进制数;equ 是比较器的输出端口;比较器的规律功能是:如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)首字符必需是英文字母;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) 第 5 页,共 12 页 variable 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)标量类型的数据对象在某一时刻只对应一个值;整数类型、浮点类型、物理类型和枚举类型复合类型的数据对象在某时刻可持多个值;是单值类型元素的集合;复合类型包括数组类型和记录类型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;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 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属性分别定义 “ 检测时钟在上升沿有效” 和“ 检测时钟在下降沿有效” ;( 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)-以敏锐表( a,b)代替显式wait 语句beginif (a=b)then equ<=;else equ<= ;0end if;end process eqcome;end behave_process;18. 利用带 wait 语句的结构体进程实现两位二进制等值比较器;(P39)与其等效的使用显式 wait 语句的进程如下:architecture behave_process of ecomp2 is begin process -无敏锐信号表beginif (a=b)then equ<=;else equ<= ;end if;wait on a,b;-本进程无敏锐表就必需有显式wait 语句end process;end behave_process;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -19. 根据下图结构,利用元件例化语句设计两位二进制等值比较器;(P4346)library ieee ;use ieee.std_logic_1164.all;entity ecomp2 is -两位等值比较器,第一层实体port (a,b:in std_logic_vector (1 downto 0 );equ:out std_logic );end ecomp2;architecture struct of ecomp2 is signal x: std_logic_vector 1 downto 0; component xnor2 -对元件 xnor2 进行元件说明 port i1, i2 : in std_logic_vector ( 1 downto 0 );o1 : out std_logic );end component;component and2 -对元件 and2 进行元件说明port i1, i2 : in std_logic_vector ( 1 downto 0 );o1 : out std_logic );end component; begin -结构体描述使用元件例化语句 u0: xnor2 port map a0, b0, x0; -位置关联方式 u1: xnor2 port map i1=>a1, i2=>b1, o1=>x1; -名称关联方式 u2: and2 port map x0, x1, 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;-须再次打开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;20. 列出 VHDL中的几种次序语句类型;(P49)变量赋值语句信号赋值语句if 语句case 语句loop 语句next 语句exit 语句null 语句wait 语句report 语句21. 利用变量赋值语句的性质判定下面两个进程最终的-第一个进程 signal a: integer :=5; signal b: integer :=10; processa,b begin a<=b; b<=a; end process; -进程执行后 a=10, b=5-其次个进程 process variable a: integer :=5; variable b: integer :=10; begin a:=b; b:=a; end process; -进程执行后 a=10, b=10 a 和 b 的值 ;(P5051)22. 利用 case 语句实现 4 选 1 多路挑选器进程;(P55)mux_1: processa, b, c, d, s begincase s is细心整理归纳 精选学习资料 when “00”=> x<=a;01”=> x<=b; 第 9 页,共 12 页 when “when “10”=> x<=c; - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -when others => x<=d;end case;end process mux_1;23. 写出 architecture 行为描述的四种常用描述方式; ( P64)描述中采纳进程语句;数据流描述描述中采纳除进程外的其他并发语句;结构化描述用来调用低层次设计模块,支持大型设计规律分解;混合描述大型设计中,常采纳行为描述与结构描述相结合的混合描述;24. 程序包由哪两个部分构成?两个部分的对外特性区分是怎样的?在程序中如何使 用程序包? (P65)程序包说明和程序包体 只有在程序包说明部分说明的标识符在程序包之外可见,在包体部分中说明的标识符对其他设计不行见;使用之前必需先用use 语句将程序包打开再进行调用;25. 设计 42 线优先编码器 .(P7576)library ieee; use ieee.std_logic_1164.all; entity encoder is portin0,in1,in2,in3:in std_logic; out0,out1:out std_logic; end; architecture behave of encoder is signal 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<=ou1; out0<=ou0; end behave; 26. 设计一位十进制编码器; (P7778)library ieee; use ieee.std_logic_1164.all; entity decode is portin0,in1,in2,in3,in4,in5,in6,in7,in8,in9 : in std_logic;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -out_decode : out std_logic_vector3 downto 0; end decode; architecture behave of decode is signal s_vec : std_logic_vector9 downto 0 ; begin s_vec<=( in9, in8, in7, in6, in5, in4, in3, in2, in1, in0); with s_vec select out_decode<= "1001" when "", -数字 9-数字 0"1000" when "", -数字 8"0111" when "", -数字 7"0110" when "", -数字 6"0101" when "", -数字 5"0100" when "", -数字 4"0011" when "", -数字 3"0010" when "", -数字 2"0001" when "", -数字 1"0000" when others; end behave; 27. 设计 JK 触发器;(P8182)library ieee; use ieee.std_logic_1164.all; entity jkff is portclk,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_vector1 downto 0; begin jk<=j&k; -留意此处连接符的使用 processclk,jk begin if clk'event and clk='1' then if jk="01" then q_temp<='0' elsif jk="10" then q_temp<='1' elsifjk="11" then q_temp<=not q_temp; end if; end if; q<=q_temp; notq<=not q_temp; end process; end behave; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -28. 设计四位双向移位寄存器;(P8384)library ieee; use ieee.std_logic_1164.all; entity shift is portclk,rst,load,left_right : in std_logic; -时钟、复位、置数、移位掌握信号 din : in std_logic_vector3 downto 0; -预置数输入信号 dout : inout std_logic_vector3 downto 0; -输出信号 end shift; architecture behave of shift is constant len: integer:=3; begin process clk,rst,load,left_right,din beginif rst=1 then dout<=”0000 ”; -异步复位elsif rising_edgeclk then if load='1' then dout<=din; -循环右移-同步置数elsif left_right='0' then dout<=dout0&doutlen downto 1; elsifleft_right='1' then -循环左移 dout<=doutlen-1 downto 0&dout3; end if; end if; end process; end behave; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 12 页 - - - - - - - - -