首页 基本触发器,四选一数据选择器

基本触发器,四选一数据选择器

举报
开通vip

基本触发器,四选一数据选择器 朱一进 四选一数据选择器和基本触发器的设计 第6页 共15页 四选一数据选择器和基本触发器的设计 学生姓名:朱一进 指导老师:肖晓丽 摘 要 系统基于数据选择器及D触发器,JK触发器,T触发器的原理,使用EDA技术在FPGA中设计了四选一数据选择器和基本触发器,采用硬件描述语言VHDL按模块化方式进行设计,然后进行编程,时序仿真等。在数据选择器中,用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与...

基本触发器,四选一数据选择器
朱一进 四选一数据选择器和基本触发器的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 第6页 共15页 四选一数据选择器和基本触发器的设计 学生姓名:朱一进 指导老师:肖晓丽 摘 要 系统基于数据选择器及D触发器,JK触发器,T触发器的原理,使用EDA技术在FPGA中设计了四选一数据选择器和基本触发器,采用硬件描述语言VHDL按模块化方式进行设计,然后进行编程,时序仿真等。在数据选择器中,用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证4选一数据选择器设计的正确性,通过VHDL语言实现了本设计的控制功能,按不同的键实现不同的功能,根据数据选择器的特性方程设计输出状态。在基本触发器中通过VHDL语言实现了本设计的控制功能,按不同的键实现不同的功能,根据三钟触发器的特性方程设计输出状态。整个系统结构简单,使用方便,值得推广使用。 关键字 FPGA;VHDL;EDA;数据选择器;触发器 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 1引言 3 31.1设计的目的 31.2设计的基本内容 31.四选一数据选择器 2.基本触发器 4 2 EDA、VHDL简介 4 2.1EDA技术 4 2.2硬件描述语言——VHDL 6 3设计规划过程 7 3.1四选一数据选择器的工作原理 7 73.2基本触发器器的工作原理 83.3课程设计中各个模块的设计 81.数据选择器的设计 92.基本触发器的设计 114结束语 参考文献 12 13附录 1 引 言 20世纪60年代初,美国德克萨斯仪器公司TI(Texas Instruments)将各种基本逻辑电路以及连线制作在一片体积很小的硅片上,经过封装后提供给用户使用,这就是集成电路。从先前的采用半导体技术实现的计算机到现在广泛应用的采用高集成度芯片实现的计算机。基本门电路和数值比较器作为基本逻辑电路的 “细胞”,因而成为深入研究和了解基本逻辑电路的基石。 计算机组成原理与设计是计算机科学与技术专业本科生的必修课程。在完成理论学习和必要的实验后,本科学生掌握了它的基本原理和各种基本功能的应用,但对硬件实际应用设计和其完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 计算机组成原理与设计的课程设计既要让学生巩固课本学到的理论,还要让学生学习硬件电路设计和用户程序设计,同时学习查阅资料、参考资料的方法。 计算机原理与设计的课程设计主要是通过学生独立设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 并自己动手用计算机电路设计软件,编写和调试用户程序,来加深对该课程的认识和理解,充分发挥我们的个体创新能力。 1.1 设计的目的 学习基本触发器的设计,进一步了解VHDL语言。巩固和运用所学课程,理论联系实际,提高 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 、解决计算机技术实际问题的独立工作能力,本次设计的目的就是学习基本触发器的设计,了解并掌握VHDL硬件描述语言的设计方法和思想,通过对基本触发器的设计,巩固和综合运用所学课程,理论联系实际,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。通过课程设计深入理解VHDL语言的精髓,达到课程设计的目标。 1.2 设计的基本内容 本设计主要是利用超高速硬件描述语言VHDL对四选一数据选择器和基本触发器电路进行编程实现。用原理图输入法或VHDL文本输入法设计4选1数据选择器基本触发器电路,建立4选1数据选择器和基本触发器的实验模式。通过电路仿真和硬件验证,进一步了解4选1数据选择器和基本触发器的功能。 1. 四选一数据选择器 用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证4选一数据选择器设计的正确性。 2. 基本触发器 先按键选择一种触发器(按键0--2分别代表D,JK,T触发器),再拨动拨码开关(SW0为D触发器输入,SW1,SW2为JK触发器输入,SW3为T触发器输入),观察验证小LED上显示的结果。 2 EDA、VHDL简介 2.1 EDA技术 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力地发展和社会信息化程度地提高,同时也使现代电子产品性能进一步地提高,产品更新换代的节奏也越来越快。EDA技术是伴随着计算机、集成电路、电子系统的设可阶计发展起来的。回顾近30年电子设计技术的发展历程,将EDA技术由浅到深分为CAD阶段、CAE阶段、ESDA段这3个阶段:(1) CAD阶段。20世纪70年代,随着中小规模集成电路的开发应用,传统的手工制图设计印刷电路板和集成电路的方法已无法满足设计精度和效率的要求,因此工程师们开始进行二维平面图形的计算机辅助设计,以便解脱繁杂、机械的版图设计工作,这就产生了第1代EDA工具— CAD(计算机辅助设计)。这是EDA发展的初级阶段,其主要特征是利用计算机辅助进行电路原理图编辑,PCB布同布线。它可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设计过程。这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。(2) CAE阶段。20世纪80年代,为适应电子产品在规模和制作上的需要,应运出现了以计算机仿真和自动布线为核心技术的第2代EDA技术,即CAE计算机辅助工程设计阶段。这一阶段的主要特征是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使设计能在产品制作之前预知产品的功能与性能,已经具备了自动布局布线、电路的逻辑仿真、电路分析和测试等功能,其作用已不仅仅是辅助设计,而且可以代替人进行某种思维。与CAD相比,CAE除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,从而实现工程设计。(3) ESDA阶段。20世纪90年代,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用比较困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,EDA技术继续发展,进人了以支持高级语言描述、可进行系统级仿真和综合技术为特征的第3代EDA技术—ESDA电子系统设计自动化阶段。这一阶段采用一种新的设计概念自顶而下(Top - Down)的设计程式和并行工程(Concurrent Engineering)的设计方法,设计者的精力主要集中在所要电子产品的准确定义上,EDA系统去完成电子产品的系统级至物理级的设计。 EDA技术主要是指面向专用集成电路设计的计算机技术, 将EDA技术与传统电子设计方法进行比较可以看出,传统的数字系统设计只能在电路板上进行设计,是一种搭积木式的方式,使复杂电路的设计、调试十分困难;如果某一过程存在错误.查找和修改十分不便;对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;只有在设计出样机或生产出芯片后才能进行实泅,因而开发产品的周期长。而电子EDA技术则有很大不同,采用可编程器件,通过设计芯片来实现系统功能。采用硬件描述语言作为设计输入和库(LibraIy)的引入,由设计者定义器件的内部逻辑和管脚,将原来由电路板设计完成的大部分工作故在芯片的设计中进行。由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,有效增强了设计的灵活性,提高了工作效率。并且可减少芯片的数量,缩小系统体积,降低能源消耗,提高了系统的性能和可靠性。能全方位地利用计算机自动设计、仿真和调试。 现代电子设计技术的核心是EDA(Electronic Design Automation)技术,EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译,逻辑化简,逻辑分割,逻辑综合,结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 2.2 硬件描述语言——VHDL VHDL(Very-High-Speed Integrated Circuit HardwareDescription )语言是一种用于电路设计的高级语言。 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。 VHDL语言有如下特点: 1.与其他的硬件描述语言相比,VHDL行为描述能力强,是系统设计领域最佳的硬件描述语言。强大的行为描述能力可以避开具体的器件结构,从逻辑行为上描述和设计大规模的电子系统。 2.VHDL有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 3.对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 4.VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 设计流程为: 1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。 通常VHDL文件保存为.vhd文件。 2.功能仿真(前仿真) :将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确。 3.逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的EDA工业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 文件。 4.布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内 5.时序仿真(后仿真):需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。 6.编程下载:确认仿真无误后,将文件下载到芯片中。 3 设计规划过程 3.1四选一数据选择器的工作原理 数据选择器又叫“多路开关”。 数据选择器在地址控制端(或叫选择控制)的控制下,从多个数据输入通道中选择其中一通道的数据传输至输出端。4选1数据选择器的元件符号如图*.1所示,其中a,b,c,d是4位数据输入端,s1和s0是控制输入端,y是数据输出端。当s1s0=00时,输出y=a;s1s0=01时,y=b;s1s0=10时,y=c;s1s0=11,y=d。四选一数据选择器的框图如图3.1所示 。 图3.1四选一数据选择器的框图 3.2基本触发器器的工作原理 触发器是数字系统中广泛应用的能够记忆一位二进制信号的基本逻辑单元电路。触发器具有两个能自行保持的稳定状态,用来表示逻辑“1”和“0”。在不同的输入信号作用下其输出可以置成1态和0态,且当输入信号消失后,触发器获得的新状态能保持下来。将D触发器,JK触发器,T触发器实行按键控制。按不同的键实现不同的功能,根据三钟触发器的特性方程设计输出状态。基本触发器的框图如图3.2所示。 图3.2基本触发器器的框图 3.3课程设计中各个模块的设计 1. 数据选择器的设计 数据选择器可由VHDL程序来实现,下面是数据选择器的一部分VHDL代码: BEGIN s<=s1&s0; PROCESS(s1,s0,a,b,c,d) BEGIN CASE s IS WHEN "00"=>Y_TEMP<=a; WHEN "01"=>Y_TEMP<=b; WHEN "10"=>Y_TEMP<=c; WHEN "11"=>Y_TEMP<=d; WHEN OTHERS=>Y_TEMP<='X'; END CASE; y<=Y_TEMP; END PROCESS; END rtl; 四选一数据选择器由VHDL程序实现后,其仿真图如图3.3所示: 四选一数据选择器的引脚分配如下: 2.基本触发器的设计 基本触发器器可由VHDL程序来实现,下面是基本触发器的一部分VHDL代码: process(clk,key) BEGIN if (key="111") then cnt0<=0; elsif (clk'event and clk='1') then if cnt0>1999999 then cnt0<=0;temp<=key; else cnt0<=cnt0+1; end if; end if; end process; process(clk) begin if (clk'event and clk='1') then cnt<=cnt+1; if cnt<10000000 then clk_fresh<='0'; elsif cnt<20000000 then clk_fresh<='1'; elsif cnt>20000000 then cnt<=0; end if; end if; end process; process(clk_fresh) BEGIN if (clk_fresh'event and clk_fresh='1') then if (temp="110") then q_temp<=d; elsif (temp="101")then jk<=j&k; case jk is when "00"=>q_temp<=q_temp; when"01"=>q_temp<='0'; when"10"=>q_temp<='1'; when"11"=>q_temp<=not q_temp; when others=>q_temp<=NULL; end case; elsif (temp="011")then if (t='0')then q_temp<=q_temp; else q_temp<=not q_temp; end if; end if; end if; q<=q_temp; nq<=not q_temp; end process; end Behavioral; 基本触发器器由VHDL程序实现后,可以得到D触发器,JK触发器,T触发器的仿真图。这里仅画出JK触发器的仿真图如图3.4所示: 基本触发器的引脚分配如下: 4 结束语 通过两星期的紧张工作,最后完成了我的设计任务。通过课程设计,发现自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。同时也体会到设计课的重要性和目的性所在。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。 在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用VHDL的过程中让我真正领会到了其并行运行与其他软件(C语言)顺序执行的差别及其在电路设计上的优越性。用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。 在此次课程设计中,非常感谢肖晓丽老师对我的指导与大力的帮助。 参考文献 [1] 林明权.VHDL数字控制系统设计范例.北京:电子工业出版社,2003 [2] 曾繁泰,陈美金.VHDL程序设计[M].北京:清华大学出版社,2001 [3]潘松.VHDL实用教程[M].成都:电子科技大学出版社,2000 [4] 侯伯亨,顾新.VHDL硬件描述语言及数字逻辑电路设计.西安:西安电子科技大 出版社,2003 [5] 谭会生.EDA技术基础.长沙:湖南大学出版社,2004 [6] 甘登岱.EDA培训教程.北京:机械工业出版社,2005 [7] Jayaram.Bhaker.VHDL教程.北京:机械工业出版社,2006 附 录 1. 数据选择器的VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY mux41 IS PORT ( a,b,c,d:IN STD_LOGIC; s0,s1:IN STD_LOGIC; y:OUT STD_LOGIC); END ENTITY; ARCHITECTURE rtl OF mux41 IS SIGNAL s:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL Y_TEMP:STD_LOGIC; BEGIN s<=s1&s0; PROCESS(s1,s0,a,b,c,d) BEGIN CASE s IS WHEN "00"=>Y_TEMP<=a; WHEN "01"=>Y_TEMP<=b; WHEN "10"=>Y_TEMP<=c; WHEN "11"=>Y_TEMP<=d; WHEN OTHERS=>Y_TEMP<='X'; END CASE; y<=Y_TEMP; END PROCESS; END rtl; 2 基本触发器的VHDL代码 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity trigger is Port ( d,j,k,t:in std_logic; clk:in std_logic; key: in std_logic_vector(2 downto 0); q,nq:out std_logic ); end trigger; architecture Behavioral of trigger is signal temp: std_logic_vector(2 downto 0); signal q_temp:std_logic:='0'; signal clk_fresh:std_logic; signal jk:std_logic_vector(1 downto 0); signal cnt0: integer range 0 to 2000000; signal cnt: integer range 0 to 20000000; begiN process(clk,key) BEGIN if (key="111") then cnt0<=0; elsif (clk'event and clk='1') then if cnt0>1999999 then cnt0<=0;temp<=key; else cnt0<=cnt0+1; end if; end if; end process; process(clk) begin if (clk'event and clk='1') then cnt<=cnt+1; if cnt<10000000 then clk_fresh<='0'; elsif cnt<20000000 then clk_fresh<='1'; elsif cnt>20000000 then cnt<=0; end if; end if; end process; process(clk_fresh) BEGIN if (clk_fresh'event and clk_fresh='1') then if (temp="110") then q_temp<=d; elsif (temp="101")then jk<=j&k; case jk is when "00"=>q_temp<=q_temp; when"01"=>q_temp<='0'; when"10"=>q_temp<='1'; when"11"=>q_temp<=not q_temp; when others=>q_temp<=NULL; end case; elsif (temp="011")then if (t='0')then q_temp<=q_temp; else q_temp<=not q_temp; end if; end if; end if; q<=q_temp; nq<=not q_temp; end process; end Behavioral;
本文档为【基本触发器,四选一数据选择器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_040004
暂无简介~
格式:doc
大小:242KB
软件:Word
页数:15
分类:工学
上传时间:2011-12-28
浏览量:135