设计中心 作业讲评 设计中心 第一章作业 1. Top_Down设计方法主要包括哪几个层 次?分别包含什么内容? 2. 什么是 IP核?学习VHDL 与掌握 IP核技 术的关系是什么? 7. FPGA/CPLD的主要优缺点是什么? ASIC的主要优缺点是什么? 设计中心 Top_Down设计流程 行为级描述 RTL级描述 逻辑综合 物理实现 设计中心 第一章作业 1. Top_Down设计方法主要包括哪几个层 次?分别包含什么内容? 2. 什么是 IP核?学习VHDL 与掌握IP 核技 术的关系是什么? 7. FPGA/CPLD的主要优缺点是什么? ASIC的主要优缺点是什么? 设计中心 ? IP核,即知识产权核,或称智核(IP Core, Intellectual Property Core)。 ? What is IP ? IP is short for Intellectual Property. More specifically, it is a block of logic that can be used in making ASIC's and FPGA's. Examples of "IP Cores" are, UART's, CPU's, Ethernet Controllers, PCI Interfaces, etc. (U niversal Asynchronous Receiver Transmitter 通用异步收发机) ? VHDL是形成IP核的重要基础之一。 设计中心 第一章作业 1. Top_Down设计方法主要包括哪几个层 次?分别包含什么内容? 2. 什么是 IP核?学习VHDL 与掌握 IP核技 术的关系是什么? 7. FPGA/CPLD的主要优缺点是什么? ASIC的主要优缺点是什么? 设计中心 ? FPGA/CPLD的优点 ①. 资金投入小、风险小 ②. 开发周期/ 面市时间( Time to Market)短 ③. 改动灵活 ④. 易学易用 ? FPGA/CPLD的缺点 ①. 芯片成本高、价格贵 ②. 嵌入电路困难 ? ASIC的优点 ①. 价格优势 ②. 频率优势(性能优势) ③. 嵌入优势 ? ASIC的缺点 ①. 资金投入大。 ②. 研发投片制作具有一定的失败风险。 ③. 面市时间较长。 ④. 改动困难。 设计中心 第二章作业 4. 试用 VHDL程序设计一个三输入与门。 5. 试用 VHDL程序设计一个四输入或门。 设计中心 三输入与门 ENTITY and3 IS PORT (a,b,c : IN BIT ; q : OUT BIT) ; END and3 ; ARCHITECTURE arch OF and3 IS BEGIN q <= a AND b AND c; END arch; 设计中心 四输入或门 ENTITY or4 IS PORT (a,b,c,d : IN BIT ; q : OUT BIT) ; END or4 ; ARCHITECTURE arch OF or4 IS BEGIN q <= a OR b OR c OR d; END arch; 设计中心 第三章作业 5. 用构造体的结构描述方式编写全加器程序,限 用以下元件:二输入与门元件(AND2)、二输入 或门元件(OR2)、二输入异或门元件(XOR2)。 6. 请为例 3-3完善底层元件,即编写半加器 half_adder以及或门 or_gate 的VHDL 程序。 设计中心 ? 什么是半加器? ? 什么是全加器? 设计中心 全加器真值表 A B C Sum Cout 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0101 1010 AB C 00 01 11 10 0 1 0010 0111 AB C 00 01 11 10 0 1 Sum Cout 设计中心 方法1 : 卡诺图法(圈1 ) 0101 1010 AB C 00 01 11 10 0 1 Sum 0010 0111 AB C 00 01 11 10 0 1 Cout Sum=ABC+ABC+ABC+ABC Cout=AB+BC+AC 设计中心 卡诺图法(圈0 ) 0101 1010 AB C 00 01 11 10 0 1 Sum 0010 0111 AB C 00 01 11 10 0 1 Cout Sum =ABC+ABC+ABC+ABC Cout =AB+BC+AC 设计中心 ? 双保留进位全加器 74LS183 Sum =ABC+ABC+ABC+ABC Cout =AB+BC+AC A B C Cout Sum 设计中心 半加器: S=A⊕ B C= AB 方法2 : 解剖半加器 u1 半加器 half_adder u2 半加器 half_adder u3 或门 or_gate x y cin a b sum cout c 设计中心 S=A⊕ B Sum=S⊕ Cin Cout=S · Cin+A · B 由( 3-2)式可得 ( P.21) 方法3 : 公式法 Sum Cout Cin A B S XOR2 XOR2 OR2 AND2 AND2 C1 C2 设计中心 Full_adder.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY full_adder IS PORT ( A : IN STD_LOGIC; B : IN STD_LOGIC; Cin: IN STD_LOGIC; Cout: OUT STD_LOGIC; Sum: OUT STD_LOGIC); END full_adder; 设计中心 Full_adder.VHD(续 ) ARCHITECTURE structure OF full_adder IS COMPONENT xor2 PORT (a, b : IN STD_LOGIC; q : OUT STD_LOGIC); END COMPONENT; COMPONENT and2 PORT (a, b : IN STD_LOGIC; q : OUT STD_LOGIC); END COMPONENT; COMPONENT or2 PORT (a, b : IN STD_LOGIC; q : OUT STD_LOGIC); END COMPONENT; 设计中心 Full_adder.VHD(续 ) SIGNAL S,C1,C2 : STD_LOGIC; BEGIN u1: xor2 PORT MAP(A,B,S); u2: xor2 PORT MAP(Cin,S,Sum); u3: and2 PORT MAP(Cin,S,C1); u4: and2 PORT MAP(A,B,C2); u5: or2 PORT MAP(C1,C2,Cout); END structure; 设计中心 设计中心 第三章作业 5. 用构造体的结构描述方式编写全加器程序,限 用以下元件:二输入与门元件(AND2)、二输入 或门元件(OR2)、二输入异或门元件(XOR2)。 6. 请为例 3-3完善底层元件,即编写半加器 half_adder以及或门 or_gate 的 VHDL程序。 设计中心 半加器(half_adder ) 表达式: S=A⊕ B C= AB ARCHITECTURE arch OF half_adder IS BEGIN S <= A XOR B; C <= A AND B; END arch; 设计中心 或门(or_gate) LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY or_gate IS PORT (a,b : IN STD_LOGIC ; q : OUT STD_LOGIC); END or_gate ; ARCHITECTURE arch OF or_gate IS BEGIN q <= a OR b; END arch; 设计中心 第四章作业 4. 算术运算符中那些操作符是可综合的? “*” 的使用需要注意什么?为什么?(P.26) 5. VHDL的数据对象主要有哪几种?(P.30) 6. 什么是数据类型?它可以分为哪几大类型? 每一大类型中包括哪些具体类型? (P.28) 7. 常量、变量和信号的申明格式分别是什么样 的?在实际应用中有哪些异同点?(P.30) 设计中心 Signal vs Variable 设计中心 Signal vs Variable ? Signal Assignment (<=) – receive the assign value after a period of time ? Variable Assignment – happens immediately when the statement is executed, no delay (: =) 设计中心 Key points to remember ? Function – Variables represent local storage ? Variables is updated immediately – the updated value can be used later in the model for further computations – Signals represent circuit interconnect ? Place of Declare – Variables : allow within Process structure – Signal : allow within Architecture structure 设计中心 ? Visible – Variable : only with the process – Signal : if define within Entity - visible within the whole Entity if define within Architecture - visible within the whole Architecture ? Make sure that you must have the correct Signal or Variable declaration 设计中心 答疑时间 ? 每周一下午 地点:科 806 相关资源 ? 课件下载 请访问教师社区 ? FTP下载(工具软件)