北邮数字逻辑课程设计..
计数器的描述1
CLK q3 q2 q1 q0
× 0 0 0 0 上升 预置值 上升 计数值加1 × 保持不变
同步预置为 “1010”
仿真波形 counter16.vhd
简易电子琴
音符 (C)
1
2
3
4
5
6
7
i
频率(Hz) 262 294 330 349 392 440 494 523
输入的主频=100KHz 不同的键对100KHz进行分频
实验要求
●熟练掌握isp EXPERT软件的使用方法
●熟练掌握isp器件的使用方法
●熟练掌握用VHDL进行数字逻辑电路设计 ●熟练掌握isp器件的下载方法 ●认真写出课程设计报告 ●7月7日~7月17日在实验室完成四个实验
实验要求
信号流程 Multimedia
输入信号
→
I/O单元 → 全局布线
→ 通用逻辑单元 →
A B
S Co
实体说明、结构体格式
四位二进制同步计数器 areset R sset S enable EN CLK clk
R 1 0 0 0 S × 1 0 0 EN × × 1 0
CO Q0 Q1 Q2 Q3
cout
q0 q1 q2 q3
LIBRARY IEEE; 标准无符号 USE IEEE.std_logic_1164.ALL; 类型程序包 USE IEEE.std_logic_arith.ALL; USE IEEE.std_logic_unsigned.ALL; ENTITY counter IS PORT (clk, areset, sset ,enable : IN std_logic; cout : OUT std_logic; q : BUFFER std_logic_vector(3 DOWNTO 0)); END counter; ARCHITECTURE rtl_arc OF counter IS BEGIN PROCESS (clk,areset) BEGIN IF (areset ='1') THEN q <= '0'; ELSIF (clk'event AND clk ='1') THEN IF (sset ='1') THEN q <= "1010"; ELSIF (enable ='1') THEN q <= q +1; ELSE q <= q; END IF; END IF; END PROCESS; cout <= '1' WHEN q = "1111" AND enable ='1' ELSE '0'; END rtl_arc;
输出布线
→ I/O单元→ 输出信号
1032管脚定义
设计四位二进制计数器 (模16)
74LS163
演示_WEB
74LS163
模16计数器
用VHDL语言设计四位二进制计数器(模16)
ispLSI 1032
时钟 信号 K1 复 K2 位
模16计数器VHDL语 言
可编程逻辑的VHDL文本设计方式
● VHDL语言结构 LIBRARY ieee ;
● 简易电子琴 ● 简易频率计 ● 交通灯控制 ● 电子钟显示
● 药片装瓶系统
内容概要
知识准备
● 复习
《数字逻辑与数字系统》 第五章 在系统编程技术
●图书馆借阅《VHDL数字电路设
计与应用实践教程》或硬件描述 语言类书籍
实验环境
● 主楼720实验室
● 60台实验仪
● 四人一组(限定每班7组)
知识准备
实体说明、结构体格式
半加器
A 0 0
B 0 1
S 0 1
Co 0 0
1
1
0
1
1
0
0
1
LIBRARY ieee ;
A B
Σ
ቤተ መጻሕፍቲ ባይዱS CO
USE ieee.std_logic_1164.all ;
ENTITY half_adder IS PORT ( A,B : IN std_logic; Co : OUT std_logic; S : OUT std_logic); END half_adder; ARCHITECTURE rtl OF half_adder IS BEGIN S <= A XOR B; Co <= A AND B; END rtl;
ispLSI 1032 多模计数器
时 钟 信 号
设计思想 1234567i K0K1K2K3K4K5K6K7 二分频计数器 判断当前按键 是否有效
A B
S CO
结构体格式
实体名一致
A B
tmp1
S
tmp2
ARCHITECTURE <结构体名> OF <实体名> IS
Co
[ 结构体说明部分 ];
BEGIN
<并行处理语句> ; END <结构体名> ;
ARCHITECTURE rtl OF half_adder IS SIGNAL tmp1,tmp2 : std_logic; BEGIN tmp1 <= A OR B; tmp2 <= A NAND B; Co <= NOT tmp2; S <= tmp1 AND tmp2; END rtl;
USE ieee.std_logic_1164.all ; ENTITY example1 IS PORT ( x1, x2, x3 f END example1 ; 库 每个部分通过关 键字引导出来
引用库中程序包
: IN BIT ; : OUT BIT ) ;
实体
ARCHITECTURE LogicFunc OF example1 IS BEGIN f <= (x1 AND x2) OR (NOT x2 AND x3) ; END LogicFunc ; 描述逻辑功能
实体说明格式 端口说明部分
ENTITY <实体名> IS [ 类属参数说明 ]; [ 端口说明部分 ]; [ 实体说明部分 ]; END <实体名>; ENTITY half_adder IS PORT ( A,B : IN std_logic; Co : OUT std_logic; S : OUT std_logic); END half_adder;
结构体
x1 x2
f
x3
VHDL语言结构
存放已编译的实体、 结构体、程序包和 配置
存放各种设计模块 能共享的数据类型、 常数、程序等
库
描述所设计硬件系 统的外部接口信号
程序包
实体 结构体
描述所设计硬 件系统的内部 结构和功能
用来从库中选取 所需单元来组成 新系统
配置 VHDL结构
VHDL语言结构组成