ch1 数字系统硬件设计概述

ch1 数字系统硬件设计概述

EDA软件平台:Quartus ǁ 、MAX+PLUSǁ (都是奥特拉ALTERA公司的)
硬件描述语言(HDL);我们所学的是VHDL,高级语言的一种,类似于c语言
目标芯片(可编程器件):CPLD、FPGA
完整的VHDL语言由实体和构造体组成
实体:描述系统的外部特性
构造体:描述系统的内部特性
VHDL语言还有库,包集合,配置。(一共5部分)

1.1传统的系统硬件设计方法

主要特征:
1.采用自下至上的设计方法
2.采用通用的逻辑元器件
3在系统硬件设计的后期进行仿真和调试
4主要设计文件是电原理图
在这里插入图片描述
在这里插入图片描述

1.2利用硬件描述语言的硬件电路设计方法

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

利用VHDL语言设计系统硬件的方法具有以下特点
1.采用自上至下(Top Down)的设计方法
从系统的总体要求出发,自上至下地逐步将设计内容细化,最后完成系统硬件的整体设计。在利用HDL的硬件设计方法中,将系统硬件设计自上至下分为3个层次进行:行为描述、RTL方式描述、逻辑综合。
第一层次:行为描述
对整个系统数学模型的描述
举例——六进制计数器
利用VHDL语言以行为方式描述六进制计数器的工作特性

LIBRARY IEEE;       //IEEE 是库
USE IEEE.STD_LOGIC_1164.ALL; // 包集合
ENTITY counter IS
PORT(
clk:IN STD_LOGIC;
 rs:IN STD_LOGIC;
 counter_out:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));
 END ENTITY counter;
 ARCHITECTURE behav OF counter IS
 SIGNAL  next_count:STD_LOGIC_VECTOR(2 DOWNTO 0);   //信号量
 BEGIN
 count_proc:PROCESS(rs,clk) IS
       BEGIN
       IF rs='0 'THEN   //rs 复位
         next_count<="000";
       ELSEIF(clk'EVENT AND clk='1')THEN //clk有事件发生并且clk的值为1,即上升沿
         CASE next_count IS
            WHEN "000"=>next_count<="001";
            WHEN "001"=>next_count<="011";
            WHEN "011"=>next_count<="111";
            WHEN "111"=>next_count<="110";
            WHEN "110"=>next_count<="100";
            WHEN "100"=>next_count<="000";
            WHEN OTHERS=>next_count<="XXX";//XXX不确定
            END CASE;
           END IF;
           count_out<=next_count AFTER 10ns;
          END PROCESS count_proc;
END ARCHITECTURE behav;

上例是对计数器工作模型的描述。当程序仿真通过以后,说明六进制计数器模型是正确的。
在此基础上再改写程序,使其语句表达式易于用逻辑元件来实现,这是第二层次所要做的工作。
第二层次:RTL方式描述
又称寄存器传输描述(数据流描述)
导出系统的逻辑表达式,进行逻辑综合
举例——六进制计数器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用仿真工具对RTL方式描述的程序进行仿真,如果通过这一步仿真
第三层次:逻辑综合
利用逻辑工具将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)
在这里插入图片描述
在这里插入图片描述
一个比较简单的系统是不必经历上述的每一步的
利用VHDL语言设计系统硬件的方法具有以下特点
1.采用自上至下(Top Down)的设计方法
2.系统可大量采用ASIC芯片
3.采用系统早期仿真
4.降低了硬件设计的难度
5.主要设计文件使用HDL语言编写的程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值