process(clr) --- 进程语句,不过括号中要写入进程中所有的输入
信号,因此应该改成(clr,clk,clkdiv)
begin --进程开始
if(clr='1') then --如果复位信号=1,clkdiv每一位全为0
clkdiv <= (others => '0');
elsif(rising_edge(clk)) then --否则在时钟上升沿到来
clkdiv <= clkdiv + 1; clkdiv+1
end if; --if语句结束
end process; ---进程结束
这段进程就是实现clkdiv的计数功能,在清零信号clr有效时,对clkdiv清零,否则加1
子程序调用与元件例化没有本质的区别,调用一个子程序在硬件上相当于放置了一个电路模块。
函数和过程的不同在于:函数只有一个输出,只能通过函数体内的RETURN语句来实现,函数体内不能有信号赋值语句;而过程却可以有不止一个输出,而且是通过过程体内的信号赋值语句或者变量赋值语句来实现的,过程体内的RETURN语句没有用处,因此不少过程都将其省略了。
函数的调用只能通过表达式来实现,过程的调用则是通过过程调用语句来实现的。
回答如下,不知道能不能帮助你!
移存器的VHDL程序如下:
Library ieee;
use ieeestd_logic_1164all;
use ieeestd_logic_unsignedall; --以上是定义集合包,是VHDL里面的包
entity yicunqi is --这是定义实体,就是定义器件的输入输出管角,名称为yicunqi
port(di ,clk :in std_logic; --2个输入
q6,q5,q4,q3,q2,q1,q0:out_std_logic --7个逻辑输出
);
end yicunqi;
architecture a of yicunqi is --定义结构体,名称为a,属于yicunqi
signal tmp : std_logic_vector(6 downto 0); 定义一个信号变量组,一共7个
begin
process(clk) --clk是触发程序的条件
begin
if (clk'event and clk='1') then --如果CLK有变化且是上升沿触发
tmp(6)<=di; --首先赋值
for i in 1 to 6 loop
tmp(6-i)<=tmp(7-i); --循环赋值,将后一个值给前一个,这样就实现移位
end loop;
end if;
end process;
q6<=not tmp(6);--将值取反付给Q6
q5<=tmp(5);
q4<=not tmp(4);
q3<=not tmp(3);
q2<=tmp(2);
q1<=tmp(1);
q0<=tmp(0);
end a;
译码器:当七位移位寄存器输出的是“1111111”时,译码器输出就是“111”;有一位错码输出即七位输出中有一个是“0”的时候,译码器输出就是“110”,其它情况输出就为“000”。
译码器的VHDL源程序为:
library ieee;
use ieeestd_logic_1164all;
use ieeestd_logic_unsignedall;
entity yimaqi is
port(a,b,c,d,e,f,g:in std_logic;
selt :out std_logic_vector(2 downto 0)); --输出是一个3位的
end yimaqi;
architecture bh of yimaqi is
signal sel: std_logic_vector(6 downto 0);
begin
sel<=a&b&c&d&e&f&g; --将abcdefg按位组成一个7位数组形式
process(sel)
begin
case sel is --case语句应该懂吧,C语言有的饿
when"0111111"=>selt<="110"; --当sel满足when后面的条件时就把100赋值给selt,后面同
when"1011111"=>selt<="110";
when"1101111"=>selt<="110";
when"1110111"=>selt<="110";
when"1111011"=>selt<="110";
when"1111101"=>selt<="110";
when"1111110"=>selt<="110";
when"1111111"=>selt<="111";
when others=>selt<="000";
end case;
end process;
end bh;
判决器的功能相当于一个比较器。
当巴克码识别器的输出大于等于自动门限的输出时,就输出一个“1”脉冲,否则就输出“0”脉冲。
判决器的VHDL源程序为:
library ieee;
use ieeestd_logic_1164all;
use ieeestd_logic_unsignedall;
entity panjueqi is
port(a : in std_logic_vector(2 downto 0);
b :in std_logic_vector(2 downto 0);
c :buffer std_logic --定义的是数据buffer
);
end panjueqi;
architecture bh of panjue is
begin
c<='1' when a>=b else '0'; --当a>=b时c<='1',其他c<='0'
end bh ;
VHDL语言数据对象有哪几种?作用范围如何?对其赋初值作用有何不同?
答:VHDL语言数据对象有信号,变量,常量。
1、常量(CONSTANT)
一般用来代表数字电路中的电源、地、恒等逻辑值等常数。
常量的使用范围取决于它被定义的位置。即在程序包中定义可在整个程序包中使用,在实体中定义,有效范围为这个实体定义的所有结构体;定义在结构体中只能用于该结构体;定义在结构体中某一单元如一个进程则只能用在这个进程当中。
2、变量
常用在实现某些算法的赋值语句当中,只是个局部变量,只能在进程和子程序中使用。(是一种理想化的数据传输,不存在任何的延时行为)
3、信号
表示一条硬件连接线:如输入输出端口,描述硬件系统的基本数据对象。
EDA, Electronic Design Automatic,电子设计自动化的意思。
VHDL,是米国人(应该是军方)搞出来的一种HDL(Hardware Description Language)硬件描述语言。原用于描述一些集成电路的逻辑。现在可以在综合工具的帮助下,用于数字电路设计。所以很多人会以为那个HDL中的D是Design,呵呵。
LIBRARY IEEE;
USE IEEESTD_LOGIC_1164ALL;
USE IEEEstd_logic_arithall;
USE IEEEstd_logic_unsignedall; ---调用常用的库
ENTITY add8b IS
PORT(
clk:IN STD_LOGIC; ---时钟信号
cin: IN STD_LOGIC; ---相加进位信号
a,b:IN STD_LOGIC_VECTOR(7 DOWNTO 0);-----两个8位的二进制数
s:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ----输出
cout:OUT STD_LOGIC);
END;
ARCHITECTURE cheng OF add8b IS
SIGNAL adda1,adda2,addb1,addb2,reg1a,reg1b,add1,add2:STD_LOGIC_VECTOR(4 DOWNTO 0);
SIGNAL reg2:STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL cin1:STD_LOGIC;
BEGIN
PROCESS(clk)
BEGIN
IF clk'EVENT AND clk='1' THEN
adda1<='0'&a(3 DOWNTO 0); ----adda1是a的低4位
addb1<='0'&b(3 DOWNTO 0);-----addb1是b的低4位
adda2<='0'&a(7 DOWNTO 4);------adda2是a的高4位
addb2<='0'&b(7 DOWNTO 4);------addb2是b的高4位
cin1<=cin;
END IF;
END PROCESS;
PROCESS(CLK)
BEGIN
IF clk'EVENT AND clk='1' THEN
add1<=adda1+addb1+cin1; ---低4位相加放入add1 注意考虑是否有进位
reg1a<=adda2;
reg1b<=addb2;
END IF;
END PROCESS;
PROCESS(CLK)
BEGIN
IF clk'EVENT AND clk='1' THEN----高4位相加,考虑低4位相加的进位
add2<=reg1a+reg1b+add1(4);
reg2<=add1(3 DOWNTO 0);
END IF;
END PROCESS;
s<=add2(3 DOWNTO 0)&add1(3 DOWNTO 0);----结果是高四位与低四位并置
cout<=add2(4); ---是否有进位
END cheng ;
第二个 只需要搞清 二进制数的乘法原理就可以了 两个4位二进制数相乘,如a=1010,b=1111 那么可以看成是1010(1000+0100+0010+0001),结果等于 将1010左移三位加上1010左移两位,加上1010左移1位加上1010不移位
就是结果
y<=("0000"& c0)+("000"& c1&'0')+("00"& c2&"00")+('0'&c3&"000");
第一个是不移动 第二个是b低二位与a相乘左移1位 第三是b低3位 与a相乘左移两位,第四是b最高位与a相乘左移三位 结果相加
VHDL语言数据对象有哪几种?作用范围如何?对其赋初值作用有何不同?
答:VHDL语言数据对象有信号,变量,常量。
1、常量(CONSTANT)
一般用来代表数字电路中的电源、地、恒等逻辑值等常数。
常量的使用范围取决于它被定义的位置。即在程序包中定义可在整个程序包中使用,在实体中定义,有效范围为这个实体定义的所有结构体;定义在结构体中只能用于该结构体;定义在结构体中某一单元如一个进程则只能用在这个进程当中。
2、变量
常用在实现某些算法的赋值语句当中,只是个局部变量,只能在进程和子程序中使用。(是一种理想化的数据传输,不存在任何的延时行为)
3、信号
表示一条硬件连接线:如输入输出端口,描述硬件系统的基本数据对象。
书 名 数字逻辑
丛 书 名 21世纪高等学校计算机规划教材——精品系列
标准书号 ISBN 978-7-115-24868-8
编目分类 TP3022
作 者 王茜 黄仁 许光辰 编著
出版社人民邮电出版社
责任编辑 刘博
开 本 16 开
印 张 19
字 数 501 千字
页 数 296 页
装 帧 平装
版 次 第1版第1次
初版时间 2011年5月
本 印 次 2011年5月
首 印 数 -- 册
定 价 3400 元
内容提要
本书从理论基础和实践出发,对数字系统的基础结构和现代设计方法与设计手段进行了深入浅出的论述,并选取作者在实际工程应用中的一些相关实例,来举例解释数字系统的设计方案。通过对基于VLSI和ULSI芯片的设计方法的介绍,阐述了现代基于芯片设计的数字系统设计的新思维和新方法,本书所提供的设计方法也可用作为理解复杂数字系统的设计基础。
全书共分7章,基本内容包括基础概念的建立;传统设计方法到现代设计方法的过渡,同时也是新技术、新方法的基础;简单介绍EDA技术概念;VHDL语言及数字系统功能模块设计;复杂数字系统设计应考虑的问题。由于复杂数字系统设计内容所描述的设计示例,渗入了实际工程中众多非功能设计需求,建议这部分内容在教学中可作为选学,由任课教师根据教学大纲来考虑本部分内容的教学。
本书可作为计算机及相关专业的教材,也可供相关科技人员的自学参考。
作者简介
王茜,博士,副教授,计算机学院副院长,兼任全国高等教育计算机教育研究会秘书长、重庆计算机学会教育与培训专业委员会主任。主要研究方向为计算机网络与通信,作为项目负责人或主研先后参加的科研项目有国家自然科学基金,国家“九五”攻关项目“远程教育管理技术,“十五”科技攻关项目“课件制作与智能答疑工具”,教育部现代远程教育工程项目“《计算机组成原理》网络课程”,教育部留学基金项目“电子商务应用技术研究”,重庆市科委项目“电子商务安全性研究” ,重庆市科委攻关“基于SPKI的安全多渠道电子支付系统研究”,以及国际合作、横向科研项目等近20项。在国际及全国性会议和杂志发表论文10多篇。
目录
第1章 基础概念 1
11 概述 1
12 基础知识 2
121 脉冲信号 2
122 半导体的导电特性 4
123 二极管开关特性 8
124 三极管开关特性 10
125 三极管3种连接方法 13
13 逻辑门电路 14
131 DTL门电路 15
132 TTL门电路 16
133 CML门电路 18
14 逻辑代数与基本逻辑运算 20
141 析取联结词与正“或”门电路 20
142 合取联结词与正“与”门电路 21
143 否定联结词与“非”门电路 22
144 复合逻辑门电路 22
145 双条件联结词与“同或”电路 24
146 不可兼或联结词与“异或”电路 24
15 触发器基本概念与分类 25
151 触发器与时钟 27
152 基本RS触发器 27
153 可控RS触发器 29
154 主从式JK触发器 31
155 D型触发器 34
156 T型触发器 37
习题 38
第2章 数字编码与逻辑代数 39
21 数字系统中的编码表示 39
211 原码、补码、反码 41
212 原码、反码、补码的运算举例 47
213 基于计算性质的几种常用二-十进制编码 48
214 基于传输性质的几种可靠性编码 51
22 逻辑代数基础与逻辑函数化简 57
221 逻辑代数的基本定理和规则 57
222 逻辑函数及逻辑函数的表示方式 59
223 逻辑函数的标准形式 62
224 利用基本定理简化逻辑函数 66
225 利用卡诺图简化逻辑函数 68
习题 74
第3章 数字系统基本概念 76
31 数字系统模型概述 76
311 组合逻辑模型 77
312 时序逻辑模型 77
32 组合逻辑模型结构的数字系统分析与设计 81
321 组合逻辑功能部件分析 81
322 组合逻辑功能部件设计 85
33 时序逻辑模型下的数字系统分析与设计 92
331 同步与异步 93
332 同步数字系统功能部件分析 94
333 同步数字系统功能部件设计 99
334 异步数字系统分析与设计 114
34 基于中规模集成电路(MSI)的数字系统设计 126
341 中规模集成电路设计方法 126
342 中规模集成电路设计举例 127
习题 138
第4章 可编程逻辑器件 142
41 可编程逻辑器件(PLD)演变 142
411 可编程逻辑器件(PLD) 144
412 可编程只读存储器(PROM) 146
413 现场可编程逻辑阵列(FPLA) 148
414 可编程阵列逻辑(PAL) 149
415 通用阵列逻辑(GAL) 152
42 可编程器件设计 160
421 可编程器件开发工具演变 160
422 可编程器件设计过程与举例 160
43 两种常用的HDPLD可编程逻辑器件 164
431 按集成度分类的可编程逻辑器件 164
432 CPLD可编程器件 165
433 FPGA可编程器件 169
习题 173
第5章 VHDL基础 175
51 VHDL简介 175
52 VHDL程序结构 176
521 实体 176
522 结构体 180
523 程序包 183
524 库 184
525 配置 186
526 VHDL子程序 187
53 VHDL中结构体的描述方式 190
531 结构体的行为描述方式 190
532 结构体的数据流描述方式 192
533 结构体的结构描述方式 192
54 VHDL要素 195
541 VHDL文字规则 195
542 VHDL中的数据对象 196
543 VHDL中的数据类型 197
544 VHDL的运算 *** 作符 201
545 VHDL的预定义属性 203
55 VHDL的顺序描述语句 205
551 wait等待语句 205
552 赋值语句 206
553 转向控制语句 207
554 空语句 212
56 VHDL的并行描述语句 212
561 并行信号赋值语句 212
562 块语句 217
563 进程语句 217
564 生成语句 219
565 元件例化语句 221
566 时间延迟语句 222
习题 223
第6章 数字系统功能模块设计 255
61 数字系统功能模块 225
611 功能模块概念 225
612 功能模块外特性及设计过程 226
62 基于组合逻辑模型下的VHDL设计 226
621 基本逻辑门电路设计 226
622 比较器设计 229
623 代码转换器设计 231
624 多路选择器与多路分配器设计 232
625 运算类功能部件设计 233
626 译码器设计 237
627 总线隔离器设计 238
63 基于时序逻辑模型下的VHDL设计 240
631 寄存器设计 240
632 计数器设计 242
633 并/串转换器设计 245
634 串/并转换器设计 246
635 七段数字显示器(LED)原理分析与设计 247
64 复杂数字系统设计举例 250
641 高速传输通道设计 250
642 多处理机共享数据保护锁设计 257
习题 265
第7章 系统集成 266
71 系统集成基础知识 266
711 系统集成概念 266
712 系统层次结构模式 268
713 系统集成步骤 269
72 系统集成规范 271
721 基于总线方式的互连结构 271
722 路由协议 276
723 系统安全规范与防御 281
724 时间同步 283
73 数字系统的非功能设计 286
731 数字系统中信号传输竞争与险象 286
732 故障注入 288
733 数字系统测试 290
734 低能耗系统与多时钟技术 292
习题 295 书 名
数字逻辑
作 者:王春露孙丹丹
出版社:清华大学出版社
出版时间: 2010年02月
ISBN: 9787302214601
开本: 16开
定价: 2380 元
内容简介
《数字逻辑》主要介绍数字逻辑电路和数字系统的基础理论和方法。书中系统地阐述了数制与编码、逻辑代数基础、组合逻辑电路的分析与设计、时序逻辑电路的分析与设计、可编程逻辑器件、VHDL硬件描述语言以及数字系统的分析与设计。《数字逻辑》可作为计算机、电子、通信及自动化等专业的本科生教材,也可供相关领域的工程技术人员参考。
作者介绍
王春露,1969年出生,毕业于哈尔滨工业大学计算机系,现为北京邮电大学计算机学院副教授、硕士生导师,北京邮电大学服务科学与智能交通技术研究中心主任。长期从事“数字逻辑”课程的教学工作,积累了丰富的教学资源,形成比较成熟的课程体系。长期从事相关领域科研工作,主要研究方向为计算机网络、信息安全、智能交通。在工程和科学实践中,主持完成了多项国家级、省部级项目。作为负责人主持的国家级项网主要有国家科技支撑计划重大专项项目1项、国家自然科学基金项目1项,发表高水平科技论文40余篇,编著《数字逻辑题解》、《计算机组成原理》、《数字逻辑与数字系统》、《计算机组织与结构》等多本教材。
图书目录
第1章数字逻辑基础
第2章 组合逻辑电路
第3章 触发器
第4章 时序电路
第5章 可编程逻辑器件
第6章 硬件描述语言VHDL简介
第7章 现代数字系统设计
附录 第二套扫描码
参考文献
…… 书 名
: 数字逻辑(面向21世纪高职高专计算机类专业新编系列教材)
作 者:宋锦河
出版社:武汉理工大学出版社
出版时间: 2004
ISBN: 9787562921271
开本: 16
定价: 2000 元
内容介绍
《数字逻辑》是依据教育部制定的《高职高专教育数字电子技术基础课程教学基本要求》编写的。
全书共分8章。主要内容包括:数字电路基础,门电路,逻辑代数基础,基本组合逻辑电路,触发器,时序逻辑电路,脉冲产生与变换电路,数/模和模/数转换器。
《数字逻辑》内容广博,语言浅显,结构清晰,实例丰富,注重“讲、学、做”统一协调,便于学生自学。《数字逻辑》除可供高职高专及成人教育计算机、电力、电子、通信及自动化等专业作为教材外,还可供有关技术人员阅读参考。
书籍目录
1数字电路基础
11几种常用数制及转换
111几种常用数制
112不同数制间的转换
12二进制数的算术运算
121二进制加法
122二进制减法
123二进制乘法
124二进制除法
13晶体管的开关特性
131二极管的开关特性
132三极管的开关特性
14反相器
141电路组成
142工作原理
143带负载能力
144抗干扰能力
145动态特性
本章小结
习题1
2门电路
21分立元件门电路
211与门
212或门
213非门
214与非门和或非门
22集成TTL门电路
221TTL与非门电路及工作原理
222TTL与非门的电气特性
223TTL与非门的改进型电路
224常用TTL与非门的器件类型和主要技术指标
225其他类型的TTL门电路
23其他双极型门电路
231高阈值集成电路(HTL电路)
232射极耦合逻辑电路(ECL电路)
24MOS门电路
241MOS反相器电路及工作原理
242CMOS反相器的电气特性
243常用CMOS反相器的型号和主要技术指标
244CMOS传输门和模拟开关
245CMOS与非门、或非门和三态门
本章小结
习题2
3逻辑代数基础
31逻辑变量和逻辑函数
32常用的公式和定理
321与运算
322或运算
323非运算
324摩根定理
33逻辑函数的表示方法
331真值表
332逻辑表达式
333逻辑图
34逻辑函数的化简
341最简的概念
342公式化简法
343卡诺图化简法
344最简与或式转换为最简与非与非式和最简或非或非式
345具有约束的逻辑函数的化简
本章小结
习题3
4基本组合逻辑电路
41组合逻辑电路分析方法
42组合逻辑电路的设计
43常用中规模组合逻辑电路及其应用
431译码器
432码制变换译码器
433数据选择器
434编码器
435数字比较器
436加法器
本章小结
习题4
5触发器
51概述
52基本RS触发器
521电路组成
522工作原理
523功能描述
53同步触发器
531同步RS触发器
532同步D触发器
533同步JK触发器
534同步触发器的空翻和振荡现象
54主从触发器
541主从RS触发器
542主从JK触发器
543主从T触发器
544主从触发器的一次翻转现象
55边沿触发器
551负边沿JK触发器
552维持阻塞D触发器
56不同类型触发器间的相互转换
561JK触发器转换为RS、D和T触发器
562D触发器转换为JK、T和RS触发器
本章小结
习题5
6时序逻辑电路
61概述
62寄存器
621数码寄存器
622移位寄存器
63集成芯片74194的应用
63174194的逻辑功能
632数字式彩灯控制器
64计数器
641异步计数器
642同步计数器
6574163的应用
65174163的逻辑功能
652用74163构成2~16进制加法计数器
653用74163构成10进制余3码加法计数器
654用74163构成17~256进制加法计数器
本章小结
习题6
7脉冲产生与变换电路
71555定时器
711电路组成
712工作原理
713基本功能
72施密特触发器
721电路组成
722工作原理
723应用举例
73单稳态触发器
731电路组成
732工作原理
733暂稳状态时间(输出脉冲宽度)
734应用举例
74多谐振荡器
741电路组成
742工作原理
743振荡周期
744应用举例
本章小结
习题7
8数/模和模/数转换器
81D/A转换器
811T型电阻D/A转换器
812D/A转换器的主要技术参数
813D/A转换器应用电路
82A/D转换器
821A/D转换的过程
822逐次逼近型A/D转换器
823A/D转换的主要技术参数
824A/D转换器应用电路
本章小结
习题8
参考文献 基本信息
书名:数字逻辑
书号:7-113-07915
作者:朱勇 等
定价:3200元
出版日期:2007年12月
获奖信息:普通高等教育“十一五”国家级规划教材
配套教材:数字逻辑习题解答与实验指导
出版单位:中国铁道出版社
简介
本教材根据普通高等学校计算机专业教学大纲精神,以及数字电路与逻辑设计课程的特点编写而成,全面系统地阐述了数字电路与逻辑设计的基本理论、基本概念、基本方法以及现代逻辑设计技术。全书共分9章:数制与编码、逻辑代数基础、组合逻辑、同步时序逻辑、异步时序逻辑、脉冲产生电路、数/模与模/数转换电路、编程逻辑及EDA设计。本教材的编者是长期从事高校数字逻辑课程教学的骨干教师,并有丰富的数字系统设计经验与相关项目工程背景。教材中不仅对经典逻辑理论作了详细地论述,同时也考虑到当今数字电路与逻辑设计的发展趋势,介绍了当今先进的逻辑设计方法与技术,如PLD(可编程逻辑器件)、HDL(硬件描述语言)、SoC(片上系统)、EDA(电子设计自动化)技术等。理论紧密联系实践。
书目录
第1章 数制与编码
第2章 逻辑代数基础
第3章 组合逻辑
第4章 同步时序逻辑
第5章 异步时序逻辑
第6章 脉冲产生电路
第7章 数/模与模/数转换电路
第8章 编程逻辑
第9章 EDA设计
附录A 逻辑符号对照表
参考文献 基本资料
书名:数字逻辑
作者:何火娇 主编 任力生 姚传安 副主编
书号:978-7-113-11706
出版社:中国铁道出版社
出版时间:2010年8月
定价:2500
内容摘要
全书共分为9章,主要内容有数字电路基础、逻辑运算门电路、逻辑代数和逻辑函数化简、组合逻辑电路、触发器、时序逻辑电路、半导体存储器和可编程逻辑器件、数/模、模/数转换和数字系统设计等。“数字逻辑”课程是电气信息类专业学生的专业基础课程。本书精选教学内容,突出数字电路的分析方法和数字集成逻辑器件功能分析,具有重点突出、叙述通俗和实用的特点;并从学生自学的角度出发,把每节的重点教学内容精心设计成思考题,以帮助学生掌握本节的教学内容,培养学生的学习能力。书中还配有大量例题和习题供学生学习与训练。本书适合作为计算机专业本科生“数字逻辑”课程的教材,也可作为电气信息类其他相关专业的教材。
章节目录
第1章 数字电路基础
第2章 逻辑运算门电路
第3章 逻辑代数和逻辑函数化简
第4章 组合逻辑电路
第5章 触发器
第6章 时序逻辑电路
第7章 半导体存储器和可编程逻辑器件
第8章 数/模和/转换电路
第9章 数字系统设计
附录A 部分思考题及习题答案
参考文献
以上就是关于VHDL程序解释全部的内容,包括:VHDL程序解释、VHDL中子程序调用与元件例化有何区别函数与过程在具体使用上有何不同、VHDL 程序解释,识别器,分频器等,帮我程序后注释下,高手帮帮忙~急~!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)