EDA实验七八程序及仿真波形
eda讲义——7个的

实验一 maxplusII 软件的初步使用(图形的设计)一、实验目的:1、初步掌握Max+PlusII 软件的基本操作与应用。
2、初步了解可编程器件的设计全过程。
二、实验仪器: 1. 电脑一台 2. 实验箱一个三、实验内容:(一)设计输入:1、软件的启动:单击“开始”进入“程序”选中“Max+PlusII 10.1 BASELINE ”,打开“”MaxplusII 软件,如图1.1-1所示。
2、启动File\New 菜单,弹出设计输入选择窗口,如图1.1-2所示:3、选择Graphic Editor File ,单击OK ,打开原理图编辑器,进入原理图设计输入电路编辑状态。
如图1.1-3所示。
4、设计输入1)放置一个器件在原理图上 01.1-4图1.1-1图1.1-2图1.1-3 图1.1-4b 、在光标处输入元件名称(如:input ,output ,and2,and3,nand2,or2,not ,xor ,dff 等)或用鼠标点击库元件,按下OK 即可。
c 、如果安放相同的元件,只要按住Ctrl 键,同时用鼠标按左键拖动该元件复制即可。
d 、一个完整的电路包括:输入端口input 、电路元件集合、输出端口output 。
e 、图1.1-5为3-8译码器元件安放结果。
2)添加连线到器件的引脚上:把鼠标移到元件引脚附近,则鼠标自动由箭头变为十字,按住鼠标左键拖动,即可画出连线。
3-8译码器原理图连线后如图1.1-6所示。
3)标记输入/输出端口属性分别双击输入端口的“PINNAME ”,当变成黑色时,即可输入标记符并回车确认;输出端口标记方法类似。
本译码器的三输入端分别标记为:A 、B 、C ;其八输出端分别为:D0、D1、D2、D3、D4、D5、D6、D7。
如图1.1-7所示。
4)保存原理图单击保存按钮图表,对于新建文件,出现类似文件管理器图框,请选择保存路径/文件名称保存原理图,原理图的扩展名为.gdf ,本实验中取名为test1.gdf 。
EDA存储器实验实验报告及波形

计科二班 03号樊艳波实验三:存储器实验实验设备1、PC机一台2、数字系统实验箱3、QuartusII配套软件实验预习:计算机的存储器是存储各种二进制信息的记忆装置,计算机的内存是计算机不可缺少的部件,用来存放计算机正在执行或将要执行的程序和数据等信息;本次实验主要是学习存储器的组成、分类、容量扩展等内容,学习了Lpm_ram_io定制方法,并设计了存储器的数据通路和附加显示电路,对存储器的数据传送、存储和读取进行验证,预习中主要遇到了一下问题1、存储器实验原理框图的理解及各个部分芯片的选择2、画图法设计时地址计数器PC的设计3、如何修改电路使其能连续读取连续地址单元中的内容实验的结构框图以及各部分的芯片选择(可以实现连读功能)实验中几个主要部件的设计如下:程序计数器PC的设计:通过两片74161级联而成,其电路图如下设计这部分时的主要问题在于级联信号的生成;一开始误以为装载时需要使能EN有效,所以在装载和清零上卡了很长时间,后来通过对时钟信号的控制虽然解决了这个问题,但是电路比较麻烦;通过与同学讨论才发觉装载时不需要EN 信号有效,只需要将第四位的进位输出rco当做高四位的使能输入即可实现级联Lpm_ram_io的定制及相关参数如下附加电路的设计:这里将K值,PC中的地址,以及总线上的数据都显示到数码管上,K的生成有两片16进制的计数器级联而成,这部分只需要根据实验2的附加电路坐一些改动即可,没有遇到什么问题,其顶层图如下波形仿真:波形仿真参数设置仿真参数设置:Grid size:100.0ns End time:10.0us验证功能:PC的装载、清零、+1功能;存储器的读写功能,(从.mif文件中读数据);以及连续读数据Initial_file.mif中的部分数据如下波形仿真结果及分析思考题1、如何将两片512*4bit的RAM构成容量为512*8bit的存储体?2、如何将两片512*4bit的RAM构成容量为1024*4bit的存储体?3、如何修改电路使其能读出存入连续地址单元中的数据?答:只需要将图中的存储地址显示由AR输出端移到PC输出端,同时PC输出端不连接到总线上即可,见结构框图4、如何将原理图输入的逻辑电路转换成HDL语言描述的器件?答:通过File->Create/Update->Create HDL Design File For Current File实验日志:1、本次试验主要学习了有关存储器的一些知识,设计了一个八位存储器和相关的数据通路,模拟了存储器的读写操作;实验的难点在于数据通路的设计,本实验我采用VHDL和画图法两种方法设计了数据通路;2、实验中主要在画图的过程中出现了一些问题,一开始对实验原理图不是很理解,对芯片的选择弄不对,进过自己的仔细分析弄清楚了各部分的功能;在程序计数器PC的设计方面遇到了困难,本实验是通过两片74161芯片级联而成,在高四位的时钟信号的生成上遇到了困难,经过好长时间的实验才解决(解决方法见上)3、波形模拟过程中在PC的装载上出现了问题,经检查原来是SW_bus打开的同时存储器进行了读得操作,结果存储器里的数据和K值被同时放到了总线上导致PC装载时出错,在这里耽误了我许多时间;以后实验还是需要更加仔细一些,本次试验花费了我很多时间,但也暴露出了我的一些个问题。
EDA分频器实验报告 含有实验程序、仿真图像 三分频 八分频

if(!rst_n) begin
t2<=0;
k2<=0;
end
else begin
if(t2==2'b10) begin
t2<=0;
k2<=k2;
end
else begin
t2<=t2+1;
k2<=!k2;
end
end
end
assign clk_out=k1|k2;
endmodule
2、八分频器程序:
moduleba(inclk,tick);
output tick;
input inclk;
reg [1:0] t;
reg tick;
always @ (posedge inclk)
begin
if(t==3)
begin
tick =~tick;
t=0;
end
else t=t+1;
end
endmodule
五、实验仿真波形
六、实验总结和感想
通过这次实验我对PLD的设计流程有了更深的感触,明白了其设计的一般步骤及方法,为以后的Quartus Ⅱ的综合设计奠定了基础。同时,对于分频器程序的编写有了更深的认识,这能更好的促进我们以后的理论学习。实验过程中也必须本着不骄不躁、耐心严谨,否则容易出错而达不到实验要求。
三、实验内容
1、根据要求设计三分频器、八分频器。
2、对设计的分频器进行波形仿真分析。
四、三位、八位简易频率计程序
1、三分频器程序
modulesan(clk_in,rst_n,clk_out);
input clk_in;
EDA实验8位加法器的设计实验报告_王炜20150414

EDA实验8位加法器的设计实验报告_王炜20150414电⽓与信息⼯程学院电⼦设计⾃动化实验报告实验⼆8位加法器设计指导⽼师:谭会⽣⽼师学⽣姓名:王炜班级:电⼦信息1202学号:12401720207实验时间:2015-04-07实验⼆8位加法器设计1.实验⽬的(1)掌握EDA使⽤⼯具QUARTUS2 的使⽤⽅法。
(2)学会⽤quartus软件建⽴项⽬并编写程序和调试下载的⽅法。
(3)掌握VHDL程序的软件及硬件的仿真⽅法。
2.实验内容设计并调试好⼀个由两个4位⼆进制并⾏加法器级联⽽成的8位⼆进制并⾏加法器,并⽤软件QUARTUS II进⾏仿验证。
3.实验条件开发软件:Quartus ii 8.04.实验设计1)系统原理框图系统设计思路:加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可以由加法器来构成。
多位加法器的构成有两种⽅式:并⾏进位和串⾏进位。
并⾏进位加法器设有进位产⽣逻辑,运算速度加快;串⾏进位⽅式是将全加器级联构成多位加法器。
并⾏进位加法器通常⽐串⾏级联加法器占⽤的更多的资源。
随着位数的增加,相同位数的并⾏加法器与串⾏加法器的资源占⽤差距也越来越⼤。
因此,在⼯程中使⽤的加法器时,要在速度和容量之间寻找平衡点。
设计⽅法:为了简化设计并便于显⽰,本计数器电路ADDER8B的设计分为两个层次,其中底层电路包括两个4位⼆进制并⾏加法器ADDER8B,再由这两个模块按照图2-1所⽰的原理图构成顶层电路ADDER8B。
这⾥我们采⽤由两个4位⼆进制并⾏加法器级联⽽成的⽅案。
图2-1 ADDER8B电路原理图2)VHDL程序8位加法器的底层和顶层电路均采⽤VHDL⽂本输⼊,有关VHDL程序如下:4位⼆进制并⾏加法器的VHDL源程序:--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'&A4B5<='0'&B4S5<=A5+B5+C4;S4<=S5(3 DOWNTO 0);CO4<=S5(4);END ARCHITECTURE ART;8位⼆进制并⾏加法器的VHDL源程序:--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)仿真波形设置顶层ADDER8B仿真输⼊设置及可能结果估计图如图2-2。
EDA如何进行波形仿真

参考资料:EDA技术及VHDL程序设计
《EDA技术及VHDL程序设计》是2022年清华大学出版社出版的图书,作者是李翠锦、武丽莉、余 晓玫、李金琼、陈明平、徐礼培。
内容介绍
EDA学习已经有段时间了,现在复习之前学过的东西,发现好多东西都生疏了,EDA波形的仿真就 是其中的一个。虽然现在要用到波形仿真的不多,不过当时学习的时候,确实花掉了我不少的时 间,下面我就来分享给大家
方法/步骤
左图表示了本步骤的内容,以图片内 容为准。
方法/步骤
左图表示了本步骤的内容,以图片内 容为准。
方法/步骤
左图表示了本步骤的内容,以图片内 容为准。
方法/步骤
左图表示了本步骤的内容,以图片内 容为寸 时刻要保存,免得突发状况得重做
参考资料:EDA工程实践技术(第二版)
接下来是准备时序仿真,之前要先设 置仿真的时域,和删格尺寸。分别点 击Edit time和 Grid Siza如图三图 四,一般的默认就够了,有需要也可 以替换
方法/步骤
左图表示了本步骤的内容,以图片内 容为准。
方法/步骤
左图表示了本步骤的内容,以图片内 容为准。
方法/步骤
左图表示了本步骤的内容,以图片内 容为准。
《EDA工程实践技术(第二版)》是2007年化学工业出版社出版的图书,作者是付家才。
参考资料:EDA设计技术
《EDA设计技术》是2013年9月人民邮电出版社出版的图书,作者是杨光永、凌永发。
参考资料:EDA技术及应用教程
《EDA技术及应用教程》是2009年机械工业出版社出版的图书,作者是梁勇、秦春斌。本书主要 介绍EDA技术的基本概念、应用特点、可编程逻辑器件、硬件描述语言(VHDL)及常用逻辑单元 电路的VHDL编程技术等内容。
EDA实验_七段译码显示

河北科技大学实验报告2012级电信专业122班学号38 15年6月3日姓名郑振兴同组人指导教师于国庆实验名称实验三七段译码显示成绩实验类型设计型批阅教师一、实验目的(1)掌握VHDL语言的行为描述设计时序电路。
(2)掌握FPGA动态扫描显示电路设计方法。
(3)熟悉进程(process)和顺序语句的应用。
二、实验原理:用4个开关作为加法器的一组输入变量,共4组输入变量;对每组变量进行译码,变换成0~F标准段码,段码中“1”表示段亮,“0”表示段灭。
一位时钟输入作为扫描显示位扫时钟,四位位扫输出,依次输出高电平。
8位段码输出,根据位选状态选择输出四组输入变量的相应译码结果。
四组输入采用试验箱K1~K16,时钟输入选择试验箱CP1或CP2;试验箱LED显示选择动态显示方式(CZ1开关ST选择 OFF),段码、位码分别扫描输出,某个管的位码有效期间,将其对应的段码输出,各位码依次有效,实现循环扫描显示,将输入的16位二进制数,每4位一组,分别显示到4个数码管上(0 ~ F)。
三、实验内容及步骤1.打开MUXPLUS II VHDL编辑器,完成七段译码显示的设计。
包括VHDL程序输入、编译、综合。
实验程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.All;ENTITY qiduanyima ISPORT ( CLK: IN STD_LOGIC;A: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ;B: IN STD_LOGIC_VECTOR(15 DOWNTO 0) ;C: OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; END qiduanyima;ARCHITECTURE simple OF qiduanyima ISBEGINPROCESS (CLK)VARIABLE Q : INTEGER RANGE 0 TO 5;VARIABLE COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF CLK'EVENT AND CLK='1' THENQ:=Q+1;CASE Q ISWHEN 1 => A(3 DOWNTO 0)<= "1000";WHEN 2 => A(3 DOWNTO 0)<= "0100";WHEN 3 => A(3 DOWNTO 0)<= "0010";WHEN 4 => A(3 DOWNTO 0)<= "0001";WHEN OTHERS => NULL;END CASE;CASE Q ISWHEN 1 =>COUNT(3 DOWNTO 0):=B(3 DOWNTO 0);WHEN 2 =>COUNT(3 DOWNTO 0):=B(7 DOWNTO 4);WHEN 3 =>COUNT(3 DOWNTO 0):=B(11 DOWNTO 8);WHEN 4 =>COUNT(3 DOWNTO 0):=B(15 DOWNTO 12);WHEN OTHERS => NULL;END CASE;IF Q = 5 THENQ := 0;END IF;END IF;CASE COUNT ISWHEN "0000" => C(6 DOWNTO 0) <= "0111111" ;WHEN "0001" => C(6 DOWNTO 0) <= "0000110" ;WHEN "0010" => C(6 DOWNTO 0) <= "1011011" ;WHEN "0011" => C(6 DOWNTO 0) <= "1001111" ;WHEN "0100" => C(6 DOWNTO 0) <= "1100110" ;WHEN "0101" => C(6 DOWNTO 0) <= "1101101" ;WHEN "0110" => C(6 DOWNTO 0) <= "1111101" ;WHEN "0111" => C(6 DOWNTO 0) <= "0000111" ;WHEN "1000" => C(6 DOWNTO 0) <= "1111111" ;WHEN "1001" => C(6 DOWNTO 0) <= "1101111" ;WHEN "1010" => C(6 DOWNTO 0) <= "1110111" ;WHEN "1011" => C(6 DOWNTO 0) <= "1111100" ;WHEN "1100" => C(6 DOWNTO 0) <= "0111001" ;WHEN "1101" => C(6 DOWNTO 0) <= "1011110" ;WHEN "1110" => C(6 DOWNTO 0) <= "1111001" ;WHEN "1111" => C(6 DOWNTO 0) <= "1110001" ;WHEN OTHERS => NULL ;END CASE;END PROCESS;END ARCHITECTURE simple;2、建立仿真波形文件,使用 MAXPLUS II Simulator功能进行功能仿真。
EDA技术实验报告完整版

福建农林大学金山学院信息工程类实验报告课程名称: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(Electronic Design Automation)是电子设计自动化的缩写,是指利用计算机技术对电子设计进行辅助、自动化的过程。
在现代电子设计中,EDA仿真是不可或缺的一环,它可以帮助工程师验证电路设计的正确性、性能和可靠性。
本篇报告将介绍我在EDA仿真实验中的经验和收获。
二、实验背景本次实验的目标是对一个数字电路进行仿真,该电路是一个4位加法器,用于将两个4位二进制数相加。
通过仿真,我们可以验证电路设计的正确性,并观察其在不同输入情况下的输出结果。
三、实验步骤1. 电路设计:首先,我们根据给定的要求和电路原理图进行电路设计。
在设计过程中,我们需要考虑电路的逻辑关系、时序要求以及输入输出端口的定义等。
2. 仿真环境搭建:接下来,我们需要选择合适的EDA仿真工具,并搭建仿真环境。
在本次实验中,我选择了Xilinx ISE Design Suite作为仿真工具,并创建了一个仿真项目。
3. 仿真测试向量生成:为了对电路进行全面的测试,我们需要生成一组合适的仿真测试向量。
这些测试向量应该覆盖了电路的所有可能输入情况,以验证电路的正确性。
4. 仿真运行:在仿真环境搭建完成后,我们可以开始进行仿真运行了。
通过加载测试向量,并观察仿真结果,我们可以判断电路在不同输入情况下的输出是否符合预期。
5. 仿真结果分析:仿真运行结束后,我们需要对仿真结果进行分析。
通过对比仿真输出和预期结果,可以判断电路设计的正确性。
如果有不符合预期的情况,我们还可以通过仿真波形分析,找出问题所在。
四、实验结果与讨论在本次实验中,我成功完成了4位加法器的仿真。
通过对比仿真输出和预期结果,我发现电路设计的正确性得到了验证。
无论是正常情况下的加法运算,还是特殊情况下的进位和溢出,电路都能够正确地输出结果。
在实验过程中,我还发现了一些有趣的现象。
例如,在输入两个相同的4位二进制数时,电路的输出结果与输入完全一致。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.8位序列信号检测器
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SCHK IS
PORT(DIN, CLK, CLR : IN STD_LOGIC;
AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END SCHK;
ARCHITECTURE behav OF SCHK IS
SIGNAL Q : INTEGER RANGE 0 TO 8 ;
SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
D <="11100101";
PROCESS( CLK, CLR )
BEGIN
IF CLR ='1' THEN Q <= 0 ;
ELSIF CLK'EVENT AND CLK='1' THEN
CASE Q IS
WHEN 0=> IF DIN = D(7) THEN Q <= 1 ; ELSE Q <= 0 ; END IF ; WHEN 1=> IF DIN = D(6) THEN Q <= 2 ; ELSE Q <= 0 ; END IF ; WHEN 2=> IF DIN = D(5) THEN Q <= 3 ; ELSE Q <= 0 ; END IF ; WHEN 3=> IF DIN = D(4) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ; WHEN 4=> IF DIN = D(3) THEN Q <= 5 ; ELSE Q <= 0 ; END IF ; WHEN 5=> IF DIN = D(2) THEN Q <= 6 ; ELSE Q <= 0 ; END IF ; WHEN 6=> IF DIN = D(1) THEN Q <= 7 ; ELSE Q <= 0 ; END IF ; WHEN 7=> IF DIN = D(0) THEN Q <= 8 ; ELSE Q <= 0 ; END IF ; WHEN OTHERS => Q <= 0 ;
END CASE ;
END IF ;
END PROCESS ;
PROCESS( Q )
BEGIN
IF Q = 8 THEN AB <="1010";
ELSE AB <="1011";
END IF ;
END PROCESS ;
END behav ;
仿真波形
2.可预置的8位序列信号检测器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SCHK2 IS
PORT (DIN,CLK,CLR: IN STD_LOGIC;
SHR: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END ENTITY SCHK2;
ARCHITECTURE behav OF SCHK2 IS
SIGNAL Q : INTEGER RANGE 0 TO 8;
SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
D<=SHR;
PROCESS(CLK,CLR)
BEGIN
IF CLR='1' THEN Q<=0;
ELSIF CLK'EVENT AND CLK='1'THEN
CASE Q IS
WHEN 0=> IF DIN=D(7) THEN Q<=1; ELSE Q<=0; END IF;
WHEN 1=> IF DIN=D(6) THEN Q<=2; ELSE Q<=0; END IF;
WHEN 2=> IF DIN=D(5) THEN Q<=3; ELSE Q<=0; END IF;
WHEN 3=> IF DIN=D(4) THEN Q<=4; ELSE Q<=0; END IF;
WHEN 4=> IF DIN=D(3) THEN Q<=5; ELSE Q<=0; END IF;
WHEN 5=> IF DIN=D(2) THEN Q<=6; ELSE Q<=0; END IF;
WHEN 6=> IF DIN=D(1) THEN Q<=7; ELSE Q<=0; END IF;
WHEN 7=> IF DIN=D(0) THEN Q<=8; ELSE Q<=0; END IF;
WHEN OTHERS=> Q<=0;
END CASE;
END IF;
END PROCESS;
PROCESS(Q)
BEGIN
IF Q=8 THEN AB<="1010";
ELSE AB<="1011";
END IF;
END PROCESS;
END ARCHITECTURE behav;
仿真波形
正弦信号发生器的顶层设计程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SINGT IS
PORT ( CLK : IN STD_LOGIC;
DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );
END;
ARCHITECTURE DACC OF SINGT IS
COMPONENT data_rom
PORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);
inclock : IN STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );
END COMPONENT;
SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0);
BEGIN
PROCESS(CLK )
BEGIN
IF CLK'EVENT AND CLK = '1' THEN
Q1<=Q1+1;
END IF;
END PROCESS;
u1 : data_rom PORT MAP(address=>Q1, q => DOUT,inclock=>CLK); END;
仿真波形。