电子设计自动化EDA技术实验五报告模板-8位循环移位寄存器
- 格式:doc
- 大小:399.50 KB
- 文档页数:7
8位移位寄存器的设计1.设计原理:8位移位寄存器由8个D触发器组成,每个触发器都有一个数据输入端和一个时钟输入端。
在时钟上升沿到达时,将数据输入端的值传递到输出端,同时由上一个触发器的输出端传递给下一个触发器的输入端。
这样,在每个时钟周期内,数据会从寄存器的一端移动到寄存器的另一端。
2.功能:-数据存储:将输入的8位数据存储在寄存器中。
-数据移位:可以将寄存器中的数据向左或向右移动一位。
-数据传输:可以将寄存器中的数据传递给其他元件或模块。
3.设计步骤:设计一个8位移位寄存器的步骤如下:1)确定需要的数据输入和输出端口数量和类型。
2)选择合适的D触发器,每个触发器都有一个数据输入端D和一个控制输入端CLK。
3)将8个D触发器按照顺序连接起来,每个触发器的输出端连接到下一个触发器的输入端,形成一个移位寄存器。
4)定义时钟信号的激活边沿(上升沿或下降沿)。
5)设计时钟信号的生成电路,以便控制数据的移位操作。
6)连接数据输入端口和时钟信号的生成电路到移位寄存器的各个触发器。
7)连接数据输出端口到移位寄存器最后一个触发器的输出端。
4.应用:-数据缓存:将来自外部设备的数据存储在寄存器中,然后按需传递给其他模块。
-数据传输:通过移位寄存器将数据从一个模块传递到另一个模块,以实现数据通信。
-时序操作:通过移位寄存器来生成时序信号,控制其他模块的状态和行为。
-数据处理:通过移位寄存器将数据进行移位、旋转、倒序等操作,并输出结果。
-逻辑运算:通过移位寄存器将数据进行逻辑与、逻辑或、逻辑异或等操作。
总结:8位移位寄存器是一种常见且实用的数字逻辑元件,用于存储和移动8位二进制数据。
通过8个D触发器的组合,可以实现数据的存储、移位和传输等功能。
在数字电子系统中,8位移位寄存器被广泛应用于数据缓存、数据传输、时序操作、数据处理和逻辑运算等场景。
设计和理解8位移位寄存器对于数字电子系统的开发和优化是非常重要的。
8位串行左移移位寄存器一、实验目的1.设计并实现一个8位串行左移移位寄存器,掌握时序电路设计方法2.熟练掌握ISE软件进行FPGA开发的过程以及试验箱的使用方法3.掌握使用VHDL创建测试文件的方法二、实验内容设计一个异步复位,同步并行装载的8位串行左移移位寄存器源代码:entity ss isPORT(clk,clr,ser,stld:IN STD_LOGIC;din: IN STD_LOGIC_VECTOR(0 TO 7) ;qh:OUT STD_LOGIC);end ss;architecture Behavioral of ss isSIGNAL reg:STD_LOGIC_VECTOR(0 TO 7);beginprocess(clk,clr)beginif clr='1' thenreg<=(others=>'0');elsif clk'event and clk='1'thenif stld='0'thenreg<=din;elsereg<=reg(1 to 7)&ser;end if;end if;end process;qh<=reg(0);end Behavioral;VHDL TEST BENCH 激励代码clk_process :processbeginclk <= '0';wait for 20 ns;clk <= '1';wait for 20 ns;end process;clr<='1','0' after 30 ns;din<="01010101";stld<='0','1' after 200 ns;ser<='0';process(clk,clr)beginif clr='1' thenreg<=(others=>'0');elsif clk'event and clk='1'then if stld='0'thenreg<=din;elsereg<=reg(1 to 7)&ser;end if;end if;end process;功能仿真:符合代码功能时序仿真:符合代码功能管脚配置NET "clk" LOC = E10;NET "clr" LOC = N17;NET "din[0]" LOC = B4;NET "din[1]" LOC = A4;NET "din[2]" LOC = D5;NET "din[3]" LOC = C5;NET "din[4]" LOC = A6;NET "din[5]" LOC = B6;NET "din[6]" LOC = E7;NET "din[7]" LOC = F7;NET "qh" LOC = F9;NET "ser" LOC = H18;NET "stld" LOC = L14;延时报告:All values displayed in nanoseconds (ns)Setup/Hold to clock clkSource | clk (edge) | clk (edge) |Internal Clock(s) | Phase |din<0> | 1.754(R)| -0.274(R)|clk_BUFGP | 0.000|din<1> | 0.938(R)| 0.379(R)|clk_BUFGP | 0.000|din<2> | 1.147(R)| 0.210(R)|clk_BUFGP | 0.000|din<3> | 1.135(R)| 0.220(R)|clk_BUFGP | 0.000|din<4> | 0.906(R)| 0.404(R)|clk_BUFGP | 0.000|din<5> | 0.499(R)| 0.729(R)|clk_BUFGP | 0.000|din<6> | 1.077(R)| 0.267(R)|clk_BUFGP | 0.000|din<7> | 0.833(R)| 0.462(R)|clk_BUFGP | 0.000|ser | 1.808(R)| -0.318(R)|clk_BUFGP | 0.000|stld | 4.327(R)| -1.768(R)|clk_BUFGP | 0.000|Clock clk to Pad| clk (edge) | | Clock |Destination | to PAD |Internal Clock(s) | Phase |qh | 7.232(R)|clk_BUFGP | 0.000|Clock to Setup on destination clock clk| Src:Rise| Src:Fall| Src:Rise| Src:Fall| Source Clock |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall|clk | 1.828| | | |连接电路板验证结果符合功能实验心得与体会。
实验8移位寄存器实验报告移位寄存器实验报告(⼀)实验原理移位寄存器是⽤来寄存⼆进制数字信息并且能进⾏信息移位的时序逻辑电路。
根据移位寄存器存取信息的⽅式可分为串⼊串出、串⼊并出、并⼊串出、并⼊并出4种形式。
74194是⼀种典型的中规模集成移位寄存器,由4个RS 触发器和⼀些门电路构成的4位双向移位寄存器。
该移位寄存器有左移,右移、并⾏输⼊数据,保持及异步清零等5种功能。
有如下功能表 CLRN CLK S1 S0 × × × × 1 1 0 11 00 0 ⼯作状态 0 × 清零 1 0 保持1 ↑并⾏置数,Q 为ABCD 1↑串⾏右移,移⼊数据位为SRS11↑串⾏左移,移⼊数据位为SLS11↑保持(⼆)实验框图时钟脉冲输⼊串⾏输⼊并⾏输⼊ABCD清零输⼊模式控制输⼊并⾏输出QA 、QB 、QC 、QD74194移位寄存器(三)实验内容1.按如下电路图连接电路⼗个输⼊端,四个输出端,主体为74194.2.波形图参数设置:End time:2us Grid size:100ns波形说明:clk:时钟信号; clrn:置0s1s0:模式控制端 sl_r:串⾏输⼊端abcd:并⾏输⼊ qabcd:并⾏输出结论:clrn优先级最⾼,且低有效⾼⽆效;s1s0模式控制,01右移,10左移,00保持,11置数重载;sl_r控制左移之后空位补0或补1。
3.数码管显⽰移位(1)电路图(2)下载验证管脚分配:a,b,c,d:86,87,88,89 bsg[3..0]:99,100,101,102 clk:122 clk0:125 clrn:95 q[6..0]:51,49,48,47,46,44,43 s0,s1:73,72sl_r:82,83结论:下载结果与仿真结果⼀致,下载正确。
福建农林大学金山学院信息工程类实验报告课程名称:EDA技术姓名:邱彬彬系:信息与机电工程系专业:电子信息工程专业年级:2010级学号:100201079指导教师:蔡剑卿职称:讲师2013年05月03日实验项目列表福建农林大学金山学院信息工程类实验报告系:信息与机电工程系专业:电子信息工程年级: 2010级姓名:邱彬彬学号: 100201079 实验课程: EDA技术实验室号:__田实405 实验设备号: 2B 实验时间: 2013年4月13日指导教师签字:成绩:实验一Quartus II 9.0软件的使用1.实验目的和要求本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。
2.实验原理利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。
Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。
3.主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.操作方法与实验步骤利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。
利用Quartus II 9.0软件实现引脚锁定和编译文件下载。
利用Quartus II 9.0软件实现原理图输入设计文件的编辑和产生相应的原理图符号元件。
5.实验内容及实验数据记录安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
请画出下段程序的真值表,并说明该电路的功能。
河南科技大学课程设计说明书课程名称EDA技术与应用题目移位寄存器的设计与实现学院班级学生姓名指导教师日期EDA技术课程设计任务书班级:姓名:学号:设计题目:移位寄存器的设计与实现一、设计目的进一步巩固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA 设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。
为以后进行工程实际问题的研究打下设计基础。
二、设计任务根据计算机组成原理中移位寄存器的相关知识,利用VHDL语言设计了三种不同的寄存器:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。
三、设计要求(1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。
(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。
(3)学习按要求编写课程设计报告书,能正确阐述设计和实验结果。
(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。
四、设计时间安排查找相关资料(1天)、设计并绘制系统原理图(2天)、编写VHDL程序(2天)、调试(2天)、编写设计报告(2天)和答辩(1天)。
五、主要参考文献[1]江国强编著.EDA技术与实用(第三版).北京:电子工业出版社,2011.[2]曹昕燕,周凤臣.EDA技术实验与课程设计.北京:清华大学出版社,2006.5[3]阎石主编.数字电子技术基础.北京:高等教育出版社,2003.[4]MarkZwolinski.DigitalSystemDesignwithVHDL.北京:电子工业出版社,2008[5]AlanB.MarcovitzIntroductiontologicDesign.北京:电子工业出版社,2003指导教师签字:年月日移位寄存器的设计与实现摘要系统使用EDA技术设计了具有移位功能的寄存器,采用硬件描述语言VHDL进行设计,然后进行编程,时序仿真等。
E D A实训实验报告课程名称:不同类型的移位寄存器设计专业:13自动化指导教师:学号:姓名:提交日期:2016-7-8实验一含同步预置功能的移位寄存器设计一、实验目的设计带有同步并预置功能的8位右移移位寄存器。
二、实验内容:CLK 是移位时钟信号,DIN是8位并行预置数据端口,LOAD是并行数据预置使能信号,QB是串行输出端口三、实验原理:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS -- 8位右移寄存器PORT ( CLK,LOAD : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);QB : OUT STD_LOGIC );END SHFRT;ARCHITECTURE behav OF SHFRT ISBEGINPROCESS (CLK, LOAD)VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK = '1' THEN --检测时钟上升沿IF LOAD = '1' THEN REG8 := DIN;--由(LOAD='1')装载新数据ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1);END IF;END IF;QB <= REG8(0); -- 输出最低位END PROCESS;END behav;引脚分配:四、实验过程:引脚设定五、实验结果:输出波形图实验二 8位串入并出移位寄存器电路的设计一、实验内容用VHDL语言实现8位串入并出移位寄存器电路的设计。
二、实验原理LIBRARY IEEE;USE IEEE.Std_logic_1164.all;ENTITY text ISPORT(a, b, clr, clock: IN BIT;q : BUFFER BIT_VECTOR(0 TO 7));END text;ARCHITECTURE one OF text ISBEGINPROCESS(a,b,clr,clock)BEGINIF clr= '0' THENq <= "00000000";ELSEIF clock'EVENT AND clock = '1'THENFOR i IN q'RANGE LOOPIF i = 0 THEN q(i) <= (a AND b);ELSEQ(i) <= q(i-1);END IF;END LOOP;END IF;END IF;END PROCESS;END one;保存本文本。
EDA技术与应用实验报告实验、8位加法器的设计1、实验目的1、学习Quartus II/ISE Suite/ispLEVER软件的基本使用方法。
2、学习GW48-CK或其他EDA实验开发系统的基本使用方法。
3、了解VHDL程序的基本结构。
2、实验内容设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用GW48-CK或其他EDA实验开发系统进行硬件验证。
3、实验要求1、画出系统的原理框图,说明系统中各主要组成部分的功能。
2、编写各个VHDL源程序。
3、根据系统的功能,选好测试用例,画出测试输入信号波形或编好测试程序。
4、记录系统仿真、逻辑综合及硬件验证结果。
5、记录实验过程中出现的问题及解决办法。
4位加法器原理图8位加法器电路原理图ADDER8B动态显示电路原理图注:本设计中的8位二进制并行加法器是由两个4位二进制加法器级联而成的4、VHDL源程序1)4位二进制并行加法器的源程序ADDER4B.VHD--ADDER4B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER4B ISPORT(C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4: OUT STD_LOGIC);END ENTITY ADDER4B;ARCHITECTURE ART OF ADDER4B ISSIGNAL S5: STD_LOGIC_VECTOR(4 DOWNTO 0);SIGNAL A5, B5: STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINA5<=‘0’& A4;B5<=‘0’& B4;S5<=A5+B5+C4;S4<=S5(3 DOWNTO 0);CO4<=S5(4);END ARCHITECTURE ART;2)8位二进制加法器的源程序ADDER8B.VHD--ADDER8B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER8B ISPORT(C8:IN STD_LOGIC;A8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);B8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);S8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);CO8:OUT STD_LOGIC);END ENTITY ADDER8B;ARCHITECTURE ART OF ADDER8B ISCOMPONENT ADDER4B ISPORT(C4:IN STD_LOGIC;A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:OUT STD_LOGIC);END COMPONENT ADDER4B;SIGNAL SC:STD_LOGIC;BEGINU1:ADDER4BPORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),B4=>B8(3 DOWNTO 0), S4=>S8(3 DOWNTO 0),CO4=>SC);U2:ADDER4BPORT MAP(C4=>SC,A4=>A8(7 DOWNTO 4),B4=>B8(7 DOWNTO 4), S4=>S8(7 DOWNTO 4),CO4=>CO8);END ARCHITECTURE ART;3)CTRLS显示控制程序--CTRLS.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRLS ISPORT(CLK:IN STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END ENTITY CTRLS;ARCHITECTURE ART OF CTRLS ISSIGNAL CNT:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(CLK) ISBEGINIF CLK'EVENT AND CLK='1' THENIF CNT="111" THENCNT<="000";ELSECNT<=CNT+'1';END IF;END IF;END PROCESS;SEL<=CNT;END ARCHITECTURE ART;动LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DISPLAY ISPORT(SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0);S8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);COM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY DISPLAY;ARCHITECTURE ART OF DISPLAY ISSIGNAL vaul:INTEGER RANGE 0 TO 256;SIGNAL ge,shi,bai:INTEGER RANGE 0 TO 9;SIGNAL DATA:INTEGER RANGE 0 TO 9 ;BEGINvaul<=CONV_INTEGER(S8);P0:PROCESS(vaul) ISVARIABLE A,B,C:INTEGER RANGE 0 TO 9 ;BEGINA:= vaul REM 10 ; B:=(vaul-A) REM 100 ; C:=vaul MOD 100 ; ge<=A;shi<=B;bai<=C;END PROCESS P0;P1:PROCESS(SEL) ISBEGINCASE SEL ISWHEN"000"=>COM<="11111110";WHEN"001"=>COM<="11111101";WHEN"010"=>COM<="11111011";WHEN"011"=>COM<="11110111";WHEN OTHERS=>COM<="11111111";END CASE;END PROCESS P1;P2:PROCESS(SEL) ISBEGINCASE SEL ISWHEN"000"=>DATA<=ge;WHEN"001"=>DATA<=shi;WHEN"010"=>DATA<=bai;WHEN OTHERS=>DATA<=0;END CASE;CASE DATA ISWHEN 0=>SEG<="00111111"; --3FHWHEN 1=>SEG<="00000110"; --06HWHEN 2=>SEG<="01011011"; --5BHWHEN 3=>SEG<="01001111"; --4FHWHEN 4=>SEG<="01100110"; --66HWHEN 5=>SEG<="01101101"; --6DHWHEN 6=>SEG<="01111101"; --7DHWHEN 7=>SEG<="00000111"; --07HWHEN 8=>SEG<="01111111"; --7FHWHEN 9=>SEG<="01101111"; --6FHWHEN OTHERS=>SEG<="00000000";END CASE;END PROCESS P2;4)态DISPLAY5)动态显示仿真程序--LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER8B ISPORT(CLK:IN STD_LOGIC;C8:IN STD_LOGIC;A8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);B8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CO8:OUT STD_LOGIC;COM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END ENTITY ADDER8B;ARCHITECTURE ART OF ADDER8B ISCOMPONENT ADDER4B ISPORT(C4:IN STD_LOGIC;A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:OUT STD_LOGIC);END COMPONENT ADDER4B;COMPONENT CTRLS ISPORT(CLK:IN STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT CTRLS;COMPONENT DISPLAY ISPORT(SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0);S8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);COM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT DISPLA Y;SIGNAL SC:STD_LOGIC;SIGNAL S8:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL SEL:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINU1:ADDER4BPORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),B4=>B8(3 DOWNTO 0),S4=>S8(3 DOWNTO 0),CO4=>SC);U2:ADDER4BPORT MAP(C4=>SC,A4=>A8(7 DOWNTO 4),B4=>B8(7 DOWNTO 4),S4=>S8(7 DOWNTO 4),CO4=>CO8);U3:CTRLSPORT MAP(CLK,SEL(2 DOWNTO 0));U5:DISPLAYPORT MAP(SEL(2 DOWNTO 0),S8(7 DOWNTO 0),COM(7 DOWNTO 0),SEG(7 DOWNTO 0));END ARCHITECTURE ART;5、仿真结果验证在程序调试和仿真时,我们要使用自底向上的方法进行,也就是对于含有多个模块的设计,我们要先从底层模块进行调试和仿真,再进行更高层次模块的调试和仿真,最后进行顶层模块的调试与仿真。
实验五按键消抖和分频器电路设计一、实验目的学习和掌握使用Verilog语言设计按键去抖动电路和分频器的方法二、实验原理分频器就是简单的加法计数器,对于偶数分频和奇数分频应注意其占空比的问题。
当按一次按健时,由于按健有反应时间、有大量的毛刺产生(抖动),可能按一次机器感应到几次。
消抖就是让在按键正常反应时间内机器只感应一次按键效果,防止误操作。
消抖的原理是:当检测到有键按下时,并不认为有键按下,而是等待20ms后,再次判断是否有键按下,若有则认为确实有键按下;若没有则认为上次的按键是误操作。
三、实验内容1.分频器设计:使用实验箱左下角的时钟频率源,编写一段Verilog程序,使led发光管,每隔1S闪烁一次。
程序设计:module clk5M_1s(clk5M,clk1s);input clk5M;output clk1s;parameter i1=4999;parameter i2=999;reg [12:0]t1,t2;reg k;reg clk1s;always @(posedge clk5M)begin //进行5000分频if(t1<=i1) t1<=t1+1'b1; else t1<=1'b0;if(t1==i1) k<=k+1'b1;endalways @(posedge k)begin //进行1000分频if(t2<=i2) t2<=t2+1'b1; else t2<=1'b0;if(t2==i2) clk1s<=clk1s+1'b1;endendmodule分析:选用的时钟频率源为5M,如果产生频率为1Hz的脉冲使led发光管每隔1s亮一次,则共需分频5000000次,因此分频次数超过内部芯片1个计数器所能承受的范围,故需用两个计数器进行两次分频,即程序中所指出的第一次5000分频,第二次1000分频。
EDA技术与应用实验报告姓名学号专业年级电子信息工程实验题目八位全加器设计实验目的1.熟悉QuartuaⅡ的文本和原理图输入方法设计简单组合电路2.通过8位全加器的设计掌握层次化设计的方法3.学会对实验板上的FPGA/CPLD开发系统硬件电路的编程下载及测试实验原理1.由文本输入利用元件例化语句或者原理图输入封装元件的方式,层次化设计1位全加器2.用原理图输入方法,由1位全加器通过低位进位输出cout与高位进位输入cin以串行方式相连接,构成8位全加器实验内容实验一:用原理图输入法设计8位全加器1.原理图输入完成半加器和1位全加器的设计,并封装入库2.层次化设计,建立顶层文件,由1位全加器构成8位全加器3.每一层次均需进行编译、综合、适配、仿真及实验板上硬件测试实验二:用文本输入法设计8位全加器1. VHDL文本输入完成半加器和一位全加器的设计2. 用元件例化语句由1位全加器设计一个8位全加器3.每一层次均需进行编译、综合、适配、仿真及实验板上硬件测试实验步骤实验一1.设计1位全加器<1>完成对半加器的设计(详见P117),编译、仿真、生成可调用元件h_adder.bsf;<2>完成对1位全加器的设计(详见P118),编译、仿真与下载,生成可调用原件f_adder.bsf;2.利用1位全加器进行8位全加器的设计<1>新建文件夹adder_8bit,作为顶层文件的目录,将底层文件h_adder.bdf、f_adder.bdf拷贝到此目录下。
新建一个初始原理图adder_8bit.bdf,并为其创建project,将三个设计文件加入工程。
<2>在原理图编辑窗口,调入元件f_adder.bsf,连接线路,对引脚命名,完成对8位全加器的设计。
<3>选择芯片EP1K100QC208-3,引脚锁定并再次编译,编程下载,分析实验结果。
实验二1.设计1位全加器<1>分别新建子文件夹,用来保存底层文件或门or2a.VHDL、半加器h_adder.VHDL的设计,并分别建立相应的project,进行编译、综合、适配、仿真,确保无error(详见P72)。
课程设计说明书题目8个LED循环显示、计数器的设计起止日期 2009。
12.18-2010.1.4 电子设计自动化设计任务书系(部):电子与通信工程系专业:电气工程及其自动化指导教师:长沙学院课程设计鉴定表目录1、课程设计目的 (5)2、课程设计题目 (5)3、设计内容 (5)3。
1 设计思路 (5)3.2 设计步骤 (5)4、程序中各引脚的分配 (12)5、程序结构框图 (13)6、完整程序 (14)7、课程设计总结 (21)参考文献 (22)一、课程设计目的系统提供一个50MHZ的时钟,要求用VHDL语言设计一个8位计数器,同时有一个8位led循环显示灯,当灯亮一次,数码管上就记一次数。
通过做此计数器,知道分频的概念,并且知道如何分频,同时知道什么是数码管的动态显示,怎么做出数码管的动态显示。
二、课程设计题目8个LED循环显示、计数器的设计。
三、设计内容1、设计思路:由于要设计一个8个led灯循环显示的计数器。
则重要的设计部分在于让led灯循环显示,同时在显示的同时数码管的数加1;要让led灯亮的同时,数码管上面的数字加1,则需要在同一个脉冲下完成计数器加一,led等循环亮一位。
由于系统给定的时钟是50Mhz,显然数码管和led灯不能正常工作,这就涉及到要将50mhz频率分频,将频率变小,使计数器和led灯能正常工作;Led灯设计思路:led灯要实现循环显示,即第一个灯亮之后,在出现一个上升沿脉冲后,第二个灯亮,第一个灯灭,来一个脉冲移动一个,并实现循环,为了实现循环,设计思路是讲来一次脉冲将最高位补到最低位,次最高位变成最高位。
数码管的设计思路:由于数码管要求是动态显示,显然还要分出一个置位工作扫描频率,由于人的视觉暂留,频率应该大于24hz,为了数码管显示效果,我分出了1000hz的频率来扫描8位数码管的工作.分频的设计思路:分频是为了将50mhz的频率减小,即在50mhz(clk)出现n个上升沿之前另一个clk1不翻转,而在n个上升沿时翻转,在2n之前一直保持翻转后的状态,到2n时,计数器清零,同时再实现翻转,这样就能做出任意较小的频率实现设计。
EDA 实验报告实验目的:1.触发器的工作原理。
2.基本时序电路的VHDL 代码编写。
3.按键消抖电路应用。
4.定制LPM 原件。
5.VHDL 语言中元件例化的使用。
6.移位寄存器的工作原理及应用。
实验要求:1.运用LPM 原件定制DFF 触发器,并调用LPM 定制的DFF 触发器,用VHDL 语言的元件例化实现消抖电路并了解其工作原理。
2. 移位寄存器是用来寄存二进制数字信息且能进行信息移位的时序逻辑电路。
根据移位寄存器存取信息的方式不同可分为串入串出、串入并出、并入串出、并入并出4种形式,并通过数码管显示出来。
实验原理:1.消抖电路由于一般的脉冲按键与电平按键采用机械开关结构,其核心部件为弹性金属簧片。
按键信号在开关拨片与触点接触后经多次弹跳才会稳定。
本实验采用消抖电路消除抖动以获得一个稳定的电平信号。
2.移位寄存器移位寄存器具有左移、右移、并行输入数据、保持及异步清零5种功能。
其中A 、B 、C 、D 为并行输入端,A Q 、B Q 、C Q 、D Q 为并行输出端;SRSI 为右移串行输入端,SLSI 为左移串行输入端;S1、S0为模式控制端;CLRN 为异步清零端;CLK 为时钟脉冲输入端。
实验具体步骤:1.消抖电路(1).用lpm 定制DFF<1>.设置lpm_ff 选择Installed Plug-Ins →Storage →lpm_ff 项;<2>.设置输入data 为1位,clock 为时钟信号,类型为D 型;<3>.添加异步清零和异步置1;其VHDL 语言为:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;ENTITY mydff ISPORT(clock : IN STD_LOGIC ;data : IN STD_LOGIC ;q : OUT STD_LOGIC);END mydff;ARCHITECTURE SYN OF mydff ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (0 DOWNTO 0);SIGNAL sub_wire1 : STD_LOGIC ;SIGNAL sub_wire2 : STD_LOGIC ;SIGNAL sub_wire3 : STD_LOGIC_VECTOR (0 DOWNTO 0);COMPONENT lpm_ffGENERIC (lpm_fftype : STRING;lpm_type : STRING;lpm_width : NA TURAL);PORT (clock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);data : IN STD_LOGIC_VECTOR (0 DOWNTO 0) );END COMPONENT;BEGINsub_wire1 <= sub_wire0(0);q <= sub_wire1;sub_wire2 <= data;sub_wire3(0) <= sub_wire2;lpm_ff_component : lpm_ffGENERIC MAP (lpm_fftype => "DFF",lpm_type => "LPM_FF",lpm_width => 1)PORT MAP (clock => clock,data => sub_wire3,q => sub_wire0);END SYN;(2).VHDL结构式描述顶层--Top level entity xiaodoulibrary ieee;use ieee.std_logic_1164.all;entity xiaodou isport( d_in,clk:in std_logic;clk_out:out std_logic);end xiaodou;architecture xiaodou_arch of xiaodou is component mydff is --元件例化PORT(clock : IN STD_LOGIC ;data : IN STD_LOGIC ;q : OUT STD_LOGIC);END component;signal x,y:std_logic;begindff1:mydff port map(clock=>clk,data=>d_in,q=>x); dff2:mydff port map(clk,x,y);clk_out<=x and (not y);end xiaodou_arch;(3).功能仿真波形:2.移位寄存器(1).74194功能验证电路(2).74194功能仿真结果仿真分析:clrn=1,clk上升时,s为11,移位寄存器并行置数,此时abcd=1010,q_abcd=1010;clrn=0,移位寄存器进行清零,此时有q_abcd=0000;clrn=1,clk上升时,s为01,sl_sr为01,移位寄存器串行右移补1,输出q_abcd=1000;clrn=1,clk上升时,s为01,sl_sr为10,移位寄存器串行右移补0,输出q_abcd=0100;clrn=1,clk上升时,s为10,sl_sr为10,移位寄存器串行左移补1,输出q_abcd=1001;clrn=1,clk上升时,s为10,sl_sr为01,移位寄存器串行左移补0,输出q_abcd=0010。
南京工程学院自动化学院实验报告课程名称电子设计自动化EDA技术实验项目名称8位循环移位寄存器实验学生班级实验学生姓名同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日8位循环移位寄存器的管脚如图:其中D 表示输入的初始值,Sta 为开始移位信号,DOUT 表示当前数值;LD 表示预设计数值,LD 为“1”,初始计数值打入器件;LR 表示移位方向,LR 为‘0’,循环右移位,LR 为‘1’,循环左移位;CP 为移位脉冲。
四、实验方案设计、实验方法 1. 实验方案8位循环移位寄存器的描述有多种方法,设计过程中可以采用图形编程,首先设计D 触发器,而后通过D 触发器的互联实现8位循环移位寄存器;也可通过VHDL 实现,采用计数脉冲CP 作为敏感量,CP 的每个上升沿,输出量Q 的每一位赋给左边一位或右边一位。
同时循环左移时,最高位赋给最低位,循环右移时,最低位赋给最高位,语句可采用case …when 、with …select 、if …then 以及加减运算等多种结构实现,详细方案与方法略。
本实验中根据真值表,通过VHDL 语言的if-then 结构实现8位循环移位寄存器。
2. 实验方法D0 D1 D2 D3 D4 D5 D6 D7 CP LD LRDOUT0 DOUT1 DOUT2 DOUT3 DOUT4 DOUT5 DOUT6 DOUT7ARCHITECTURE sample OF cyreg ISBEGINP1:PROCESS(CP,LD)BEGINif LD='0' thenDOUT<=D;elsif CP'EVENT AND CP='0' thenif LR='1' thenDOUT<=DOUT(6 DOWNTO 0)&DOUT(7);elsif LR='0' thenDOUT<=DOUT(0)&DOUT(7 DOWNTO 1);end if;end if;END PROCESS P1;END sample;2. 器件及管脚逻分配图管脚分配情况如图,所选器件为EPM7032AELCC44-43. 仿真波形8位循环移位寄存器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路功能达到设计要求4. 时序分析图上述时间分析可以得到,输出信号存在3ns的时间延迟,它主要与器件速。
8位串入并出移位寄存器电路的设计姓名:林蔼龄学号:1060601007 班级:物理系BTEC电子信息工程A班8位串入并出移位寄存器电路的设计一、实验内容用VHDL语言实现8位串入并出移位寄存器电路的设计。
二、程序建立文本编辑新窗口,在文件编辑窗口中输入如下程序: LIBRARY IEEE; USE IEEE.Std_logic_1164.all; ENTITY text ISPORT (a, b, clr, clock: IN BIT;q : BUFFER BIT_VECTOR(0 TO 7)); END text;ARCHITECTURE one OF text IS BEGINPROCESS (a,b,clr,clock)BEGINIF clr = '0' THENq <= "00000000";ELSEIF clock'EVENT AND clock = '1'THENFOR i IN q'RANGE LOOPIF i = 0 THEN q (i) <= (a AND b);ELSEQ (i) <= q(i-1);END IF;END LOOP;END IF;END IF;END PROCESS;END one;保存本文本。
三、仿真结果建立仿真波形文件,进行时序防震,得到的仿真结果如下图1所示:图1下面的是2016年经典励志语录,需要的朋友可以欣赏,不需要的朋友下载后可以编辑删除~~谢谢~~1、有来路,没退路;留退路,是绝路。
2、为目标,晚卧夜半,梦别星辰,脚踏实地,凌云舍我其谁!3、做一题会一题,一题决定命运。
4、静下来,铸我实力;拼上去,亮我风采。
5、拼一载春秋,搏一生无悔。
6、狠抓基础是成功的基础,持之以恒是胜利的保证。
7、把汗水变成珍珠,把梦想变成现实!8、拧成一股绳,搏尽一份力,狠下一条心,共圆一个梦。
计算机实验报告
八位寄存器
系别烟大软件工程
专业班级计093-2
学生姓名李维隆
学生学号200925503223
指导教师潘庆先
八位寄存器
一、实验目的
用门电路设计一个八位寄存器。
要求:具有一个时钟输入端CLK,一个复位端RE,八个并行数据输入端,八个数据数出端,当时钟脉冲到来时,并行数据输入端的数据被送入寄存器中。
二、实验仪器
ExpEXPERT SYSTEM软件、ispLSI1032E--70LJ84仪器
三、实验原理
四、实验步骤
1.启动后,选择“new project……”新建工程,然后选择器件ispLSI1032E--70LJ84。
2.选择“New source……”并选择“Schematic”建立原理图,并添加好器件,进行引脚锁定。
3.对工程进行编译、连接,通过后进行烧录。
4.观察实验的结果是否正确。
五、心得体会
通过这次试验,使我加深了对计算机组成原理的兴趣,并且更清楚的了解了底层电路的工作方式,加深了印象。
实验八移位寄存器及其应用一、实验目的1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。
2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。
二、实验原理1、寄存器使一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下一次左移或右移。
既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。
根据移位寄存器存取信息的方式不同分为:串如串出、串如并出、并入串出、并入并出四种形式。
2、本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图8-1所示。
其中D0、D1、D2、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;S R为右移串行输入端,S L为左移串行输入端;S1、S0为操作模式控制端;C R为直接无条件清零端;CP为时钟脉冲输入端。
功能见表8-1。
3、移位寄存器的应用可构成移位寄存器形计数器;:顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据等。
本实验研究移位寄存器用作环形计数器和数据的串、并行转换。
⑴环形计数器把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位,如图8—2所示,把输入端和右移串行输入端相连接,设初始状态Q0Q1Q2Q3=1000,则在时钟脉冲作用下Q0Q1Q2Q3将依次变为0100 → 0010 → 0001 → 1000→……,如表8—2所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。
图8—2电路可以由各个输出端输出在实践上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。
如果将输出与左移串行输入端相连接,即可达到左移循环移位。
⑵串行/并行转换器串行/并行转换是指串行输入的数码,经转换电路之后变成并行输出。
图8—3是用二片CC40194(74LS194)四位双向移位寄存器组成的七位串/并行数据转换电路。
南京工程学院
自动化学院
实验报告
课程名称电子设计自动化EDA技术实验项目名称8位循环移位寄存器
实验学生班级
实验学生姓名
同组学生姓名
实验时间
实验地点
实验成绩评定
指导教师签字
年月日
8位循环移位寄存器
的管脚如图:
其中D 表示输入的初始值,Sta 为开始移位信号,DOUT 表示当前数值;LD 表示预设计数值,LD 为“1”,初始计数值打入器件;LR 表示移位方向,LR 为‘0’,循环右移位,LR 为‘1’,循环左移位;CP 为移位脉冲。
四、实验方案设计、实验方法 1. 实验方案
8位循环移位寄存器的描述有多种方法,设计过程中可以采用图形编程,首先设计D 触发器,而后通过D 触发器的互联实现8位循环移位寄存器;也可通过VHDL 实现,采用计数脉冲CP 作为敏感量,CP 的每个上升沿,输出量Q 的每一位赋给左边一位或右边一位。
同时循环左移时,最高位赋给最低位,循环右移时,最低位赋给最高位,语句可采用case …when 、with …select 、if …then 以及加减运算等多种结构实现,详细方案与方法略。
本实验中根据真值表,通过VHDL 语言的if-then 结构实现8位循环移位寄存器。
2. 实验方法
D0 D1 D2 D3 D4 D5 D6 D7 CP LD LR
DOUT0 DOUT1 DOUT2 DOUT3 DOUT4 DOUT5 DOUT6 DOUT7
ARCHITECTURE sample OF cyreg IS
BEGIN
P1:PROCESS(CP,LD)
BEGIN
if LD='0' then
DOUT<=D;
elsif CP'EVENT AND CP='0' then
if LR='1' then
DOUT<=DOUT(6 DOWNTO 0)&DOUT(7);
elsif LR='0' then
DOUT<=DOUT(0)&DOUT(7 DOWNTO 1);
end if;
end if;
END PROCESS P1;
END sample;
2. 器件及管脚逻分配图
管脚分配情况如图,所选器件为EPM7032AELCC44-4
3. 仿真波形
8位循环移位寄存器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路功能达到设计要求
4. 时序分析图
上述时间分析可以得到,输出信号存在3ns的时间延迟,它主要与器件速。