电子设计自动化 电子设计自动化 授课教师:何 授课教师:何 旭 旭 第八章 第八章 仿真与综合 仿真与综合 第一节逻辑仿真 第二节电路综合 第一节逻辑仿真 一、仿真级别 行为级:快速构建系统模型并仿真确认 RTL级:功能验证 结构级:多为对综合后的描述或反标注 后的描述进行验证 二、仿真激励的产生 VHDL测试台 文件产生法 命令输入法 第二节逻辑综合 将HDL描述转换为功能符合要求的电路 一、HDL综合 将HDL输入转换为未经优化的布尔方程 二、逻辑综合 ?逻辑优化,减少布尔方程数 ?门级映射 三、约束条件 确定电路综合目标,在满足目标 的前提下使电路规模最小。 综合工具将采用多种电路结构来 实现设计,以获得最佳结果。 约束条件包括: ?面积 ?速度 约束条件包括: ?面积 ?速度 时钟周期 最大路径延迟 建立时间 保持时间 到达时间 约束条件包括: ?面积 ?速度 ?驱动能力 ?负载 ?工作条件、温度 ?可测试性 附件 附件 1: : VHDL示例程序 示例程序 一、典型结构分析 1.时钟锁存电路 PROCESS (clock) BEGIN IF (clock’event AND clock=‘1’) THEN -- statement END IF; END PROCESS; 2. 同步复位电路 PROCESS (clock) BEGIN IF (clock’event AND clock=‘1’) THEN IF (sync_reset=‘1’) THEN -- statement END IF; END IF; END PROCESS; 3. 异步复位电路 PROCESS (reset, clock) BEGIN IF (reset = ‘1’) THEN -- statement ELSIF (clock’event AND clock = ‘1’) THEN -- statement END IF; END PROCESS; 4. 计数器电路 PROCESS (clock) VARIABLE counter: integer := 0; BEGIN IF (clock’event AND clock = ‘1’) THEN counter := counter + 1; -- statement END IF; END PROCESS; 5. 状态机电路 ARCHITECTURE state_machine OF example IS TYPE four_type IS (A1, A2, A3, A4); SIGNAL next_state : four_type; SIGNAL clock : STD_LOGIC; BEGIN PROCESS (clock) BEGIN IF (clock’event AND clock=‘1’) THEN CASE (next_state) IS WHEN (A1) => next_state <= A2; -- statement WHEN (A2) => next_state <= A3; -- statement WHEN (A3) => next_state <= A4; -- statement WHEN (A4) => next_state <= A1; -- statement END CASE; END IF; END PROCESS; END state_machine; 二、样例程序 例1:书P222 的8255描述 例2:样例程序 附件 附件 2: : 工具简单使用 工具简单使用 使用的工具: 仿真:Modelsim 综合:Leonardo Modelsim使用: 先用一个文本编辑器编写VHDL程序 vlib work 建库 vcom xxx.vhd 编译 vsim xxx.vhd仿真 在vsim中: view * 打开所有窗口 add wave *加所有信号到波形窗 force clk 0 50, 1 100 –repeat 100 产生100ns周期方波时钟 run 1000运行1000ns