目录

  • 1 项目1 Multisim 软件平台
    • 1.1 任务1.1 Multisim文件的基本操作
      • 1.1.1 新建课程目录
    • 1.2 任务1.2 Multisim图纸的设置及导出操作
    • 1.3 任务1.3 Multisim快捷键的使用
    • 1.4 课后作业
  • 2 项目2 创建仿真电路
    • 2.1 任务2.1 创建基本电路
    • 2.2 任务2.2 创建总线电路
    • 2.3 任务2.3 创建子电路
    • 2.4 任务2.4 仿真元件设计
    • 2.5 课后作业
  • 3 项目3 Multisim虚拟仪器的使用
    • 3.1 任务3.1 常用指示器件的使用
    • 3.2 任务3.2 模拟时域仪器的使用
    • 3.3 任务3.3 频域仪器的使用
    • 3.4 任务3.4 数据域仪器的使用
    • 3.5 任务3.5 数字电路设计仪器的使用
    • 3.6 课后作业
  • 4 常用仿真分析
    • 4.1 任务4.1 放大电路直流工作点分析
    • 4.2 任务4.2 放大电路的动态分析
    • 4.3 任务4.3 傅里叶分析
    • 4.4 任务4.4 批处理分析
    • 4.5 任务4.5 后处理器
    • 4.6 任务4.6 元件列表清单
    • 4.7 任务4.7 仿真电路信息的输入/输出方式
    • 4.8 OTL功放电路的设计与仿真分析
    • 4.9 脉宽调制电路的设计与仿真分析
    • 4.10 课后作业
  • 5 项目5 Quartus II软件基本操作
    • 5.1 任务5.1 四位串行加法器设计
    • 5.2 任务5.2 流水灯电路设计
    • 5.3 任务5.3 嵌入式逻辑分析仪SignalTap II使用
    • 5.4 振动监测报警电路的设计与仿真分析
    • 5.5 红外人体探测电路的设计与仿真分析
    • 5.6 课后作业
  • 6 项目6 用硬件描述语言设计可编程逻辑器件
    • 6.1 任务6.1 介绍可编程逻辑器件
    • 6.2 任务6.2 硬件描述语言语法结构
    • 6.3 课后作业
  • 7 项目7 常用电路的硬件描述语言设计
    • 7.1 任务7.1 常用组合逻辑电路的设计
    • 7.2 任务7.2 常用时序逻辑电路设计
    • 7.3 课后作业
  • 8 项目8 硬件描述语言的设计应用
    • 8.1 任务8.1 基本应用
    • 8.2 任务8.2 综合设计应用
课后作业

课后作业

1.基础题

74283加法器和逻辑门设计实现一位8421BCD码加法器电路,输入输出均为BCD码,Ci为低位的进位信号,Co为高位的进位信号,输入为两个1位十进制数AB,输出用S表示。原理图及功能仿真波形如图5-37和图5-38所示。

2.实训题

7439074374设计两位十进制频率计,tf_ctro子模块原理图和顶层文件原理图如下图5-39和图5-40所示。将各个子模块编译后仿真验证功能,然后将顶层设计文件分配管脚后下载至开发板。

显示模块程序:

libraryieee

useieeestd_logic_1164all

useieeestd_logic_unsignedall

entitydecl7s2 is

portclk∶instd_logic

data1data2∶instd_logic_vector3downto0);

dip∶outstd_logic_vector1downto0);

led∶outstd_logic_vector6downto0));

enddecl7s2

architecturebehave of decl7s2 is

signaldata∶std_logic_vector3downto0);

signalcnt∶std_logic_vector24downto0);

begin

processclk

begin

ifclk=‘1’andclkeventthen

cnt<=cnt+1

endif

endprocess

processcnt18))

begin

casecnt18is

when‘0’=>data<=data1;dip<=“10”

when‘1’=>data<=data2;dip<=“01”

whenothers=>null

endcase

casedata is

when“0000”=>led<=“0000001”

when“0001”=>led<=“1001111”

when“0010”=>led<=“0010010”

when“0011”=>led<=“0000110”

when“0100”=>led<=“1001100”

when“0101”=>led<=“0100100”

when“0110”=>led<=“0100000”

when“0111”=>led<=“0001111”

when“1000”=>led<=“0000000”

when“1001”=>led<=“0000100”

when“1010”=>led<=“0001000”

when“1011”=>led<=“1100000”

when“1100”=>led<=“0110001”

when“1101”=>led<=“1000010”

when“1110”=>led<=“0110000”

when“1111”=>led<=“0111000”

whenothers=>null

endcase

endprocess

endbehave