ASIC设计概论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASIC设计:葛宁
6
VHDL基本知识(1)
VHSIC Hardware Description Language
并发性 实体(Entity), 机构体(Architecture) VHDL简介1-6
ASIC设计:葛宁
7
VHDL基本知识(2)
进程
process(sensitivity-list) begin sequential-statements end process;
end process;
Why not: if reset then… elsif clk…
--<-如果q(0)没有复位, --则reset不会影响q(0)
End rtl;
ASIC设计:葛宁
14
状态机(1)
State Machine
ASIC设计:葛宁
15
状态机(2)
State Diagram 3个或3个以上连0检测
4
制订模块规范(Specification)
简介 功能描述 I/O信号* 内部控制/状态寄存器* 时序约束* IP模块和宏模块 可测试分析 功耗和面积估计
ASIC设计:葛宁
5
芯片级规范(补充)
管脚分配图(与PCB配合) 特殊管脚要求 内部存储器地址分配(与软件的配合) 信号完整性要求
“01” when I=“0010” ,
End rtl;
“10” when I=“0100” , “11” when I=“1000” , “--” when others ;
ASIC设计:葛宁
避免Latch
通过Don’t care 节省逻辑
13
计数器
Entity cnt4 is port(clk,reset
ASIC设计:葛宁
16
状态机(3)
LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE IEEE.std_logic_arith.all; ENTITY det30 IS
PORT ( reset : IN std_logic; dat : IN std_logic; clk : IN std_logic; detect : OUT std_logic);
ASIC设计:葛宁
10
多路选择器
Use IEEE.std_logic_unsigned.all; Entity MUX16 is
port( sigin : in std_logic_vector(15 downto 0); sel : in std_logic_vector(3 downto 0); o : out std_logic);
Architecture rtl of MUX16 is Begin
o<=sigin(conv_integer(sel)); End rtl;
ASIC设计:葛宁
11
译码器
Entity DEC16 is
port( sigin : in std_logic_vector(3 downto 0);
o : out std_logic_vector(15 downto 0));
结构设计
功能性集成 门级集成
功能实现 逻辑综合 时序分析/物理实现
测试向量
加工
实际测试
ASIC设计:葛宁
3
制订设计要求
设计的第一步 功能上的要求:明确和可以操作的要求 建议
例如: R.10: 系统对接24小时的误码为0。 O.10: 系统支持热插拔. R.20: 包交换的延时小于10ms.
ASIC设计:葛宁
: in std_logic;
q : out std_logic_vector(3 downto 0));
End cnt4; Architecture rtl of cnt4 is Begin
process(reset,clk) --Don’t forget reset
begin if (rising_edge(clk)) then q<=q+’1’; end if; if (reset=‘1’) then q<=(others=>’0’); end if;
port( I : in std_logic_vector(3 downto 0);
O: out std_logic_vector(1 downto 0));
End CODE4;
Architecture rtl of CODE4 is
Begin
with I select
O<= “00” when I=“0001” ,
End DEC16;
Architecture rtl of DEC16 is
Begin
process(sigin)
begin
o<=(others=>’0’);
o(conv_integer(sigin))<=‘1’;
end process;
End rtl;
ASIC设计:葛宁
12
编码器
Entity CODE4 is
ASIC设计方法概论
层次化模块化设计
ASIC设计:葛宁
1
设计流程
分析:制定规范 设计:VHDL代码,状态图,真值表 验证:证明电路的正确性。仿真和形式
化验证,co-design 综合:高层次到低层次转换。生成网表 测试:发现废品。生成测试向量
ASIC设计:葛宁
2
详细设计流程
设计要求
测试平台设计
Process(reseቤተ መጻሕፍቲ ባይዱ,clk) Begin
if (reset=‘1’) then Q<=‘0’;
elsif (rising_edge(clk))then Q<=D;
end if; End process;
ASIC设计:葛宁
8
VHDL基本知识(3)
逻辑门
Entity NAND2 is port (a,b : std_logic; z: std_logic);
End NAND2; Architecture rtl of NAND2 is Begin
z<=not (a and b); End rtl;
ASIC设计:葛宁
9
双向I/O
Entity BDIR is
Think in hardware!
port(sig_out, outen: in std_logic;
sig_in : out std_logic;
pin_io : inout std_logic);
End BDIR;
Architecture rtl of BDIR is
Begin
pin_io<=sig_out when outen=‘1’ else ‘Z’;
sig_in<=pin_io;
End rtl;