太原科技大学:名字起个什么
电子技术课程设计
-----序列检测器的设计
学 院: 专业班级: 姓 名: 学 号: 指导老师:
1
2
太原科技大学:名字起个什么
一、 设计任务与要求
1. 设计一个序列检测器,在上升沿的作用下,输入一组二进制码,与预先设置的吗“11100101”一致时,输出A,不同时则输出B,(在检测过程中,任何一位不相等都将回到初始状态重新开始检测。)
二.总体框图
脉冲发生器:为检测器提供脉冲。
检测器:具有存储功能。
数码显示器:显示输出A或B
方案:设计手动的脉冲发生器为检测器提供脉冲,使其正常工作,然后设计检测器存储的数字为”11100101”再用译码器使其显示在数码管上,这就要求检测器必须记住前一次的正确吗及正确序列,直到在连续的检测中所收到的每一位吗与预置数的对应码相同,否则重新开始检测。
其功能图如下图所示:
太原科技大学:名字起个什么
四、功能模块
1.脉冲发生器 VHDL程序:
LIBRARY ieee;
use ieee.std_logic_1164.all; entity pulse is
port(pul,M: in std_logic; nq,q: out std_logic
--VGA:out std_logic_vector(3 downto 0) ); end pulse;
architecture a of pulse is signal temp: std_logic; begin
--VGA
if rising_edge(m) then if pul='0' then temp
3
4
太原科技大学:名字起个什么
temp
生成的模块:
此作用是为序列检测器提供合适的脉冲,手按按钮IO3,Q输出一个脉冲给下个模块的CLK。
逻辑功能表
二、序列检测器
1、VHDL程序:
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
if clr = '1' then q
when 0=> if din = d(7)then q if din = d(6)then q if din = d(5)then q if din = d(4)then q if din = d(3)then q if din = d(2)then q if din = d(1)then q if din = d(0)then q q
5
6
太原科技大学:名字起个什么
process ( q ) begin
if q = 8 then ab
2、生成的模块:
此模块是一个对序列“11100101”的检测,当输入端DIN在 八个脉冲的作用下分别输入11100101时Q端输出B,否则输出A.这种检查的关键在于正确码的收到必须是连续的,这就 要求检测器必须记住前一次的正确码及正确序列,直到在 连续的 检测中所收到的每一位码都与“11100101”对应相同。
三、分频器
1、VHDL程序:
LIBRARY ieee;
use ieee.std_logic_1164.all; entity deled is
port(ab: in std_logic_vector(3 downto 0); --sel: in std_logic;
太原科技大学:名字起个什么
led: out std_logic_vector(6 downto 0) ); end deled;
architecture a of deled is --signal temp: std_logic; begin
led
7
8
太原科技大学:名字起个什么
"1000111" when ab= "1111" ; END a;
2、生成的模块:
此模块的作用是将输出显示到数码管上。
四、Cyclone系列器件的结构
1、Cyclone器件主要由逻辑阵列块LAB、嵌入式存储器块、I/O单元、嵌入式硬件乘法器和PLL等模块构成,在各个模块之间存在着丰富的互连线和 时钟网络。
Cyclone器件的 可 编程资源主要来自逻辑陈列块LAB,而每个LAB都由多个逻辑单元LE(Logic Element)构成。LE主要由一个4输入的查找表LUT、进位链逻辑和 一个可编程的寄存器构成。4输入的LUT可以完成所有的4输入1输出的组合逻辑功能,进位链逻辑带有进位选择,可以灵活的 构成一位加法或减法逻辑,并可以切换。
LE有三个输出驱动内部互连,一个驱动局部互连,另两个驱动行或列的 互连资源,LUT和寄存器的 输出可以 单独控制。
逻辑阵列块LAB是 由一系列相邻的 LE构成的。每个CycloneLAB包含10个
LE、LE进位链和 级联链、LAB控制信号、LAB局部互连、LUT链和 寄存器链。 在 Cyclone FPGA器件中所含的 嵌入式存储器,由数十个M4K的存储器块构成。在Cyclone中的 嵌入式存储器可以通过多种连线与可编程资源实现连接,这 大大 增强了 FPGA的 性能,扩大了 FPGA的应用范围。
Cyclone的I/O支持多种I/O接口,符合多种I/O标准,可以支持差分的 I/O标准,诸如LVDS和RSDS,当然也 支持普通单端的 I/O标准,通过这些常用的端口与板上的 其他芯片沟通。
五、总体设计电路图
1、该程序是在连续脉冲的作用下检测序列“11100101”当输入完全符合时数码管显示B,当其中有 一个出错时或序列不 对时数码管显示A。 2、电路原理图
太原科技大学:名字起个什么
3、QUARATU SII的仿真结果图与分析
清零端是高电平有效,首先设清零端为高电平使之清零,然后在八个有效脉冲的作用下DIN输入“11100101”且顺序一致,此时数码管显示为“1110111”其它情况为“111100” 说明此电路设计正确。
9
10
太原科技大学:名字起个什么
3、管脚分配图(见下页)
4、实验箱上的验证与实验箱的连接情况。
用一根导线拿IQ3与PB(3)相连。然后打开开关,在手动按钮输入脉冲的作用下在EPIC12板上4位拨码键的SW【0】。分别拨到“11100101”,其中“1”为高电位,“0”为低电位。重复上述几次,多 输几个输入,观察数码管的输出情况,经观察只有输入为“11100101”时数码管显示“A”其它情况显示“B”。
管脚分配图
太原科技大学:名字起个什么
六、心得体会
这次课程设计历时二个星期多左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高,有如下心得:
1,设计性实验最主要的是要有一个清晰的设计思路,关键是自己思考各个
模块是怎么设计的,对每个模块分析思考设计,再去编程,将所有模块组装在一起就完成设计。
2,EDA设计就得多思考多分析能够设计想要的东西。
3,在以后的要加强锻炼自己独立思考和设计思路,不怕困难勇往直前。
11
12
太原科技大学:名字起个什么
4,很多事情是在自己亲手做了以后才会感觉到,其实它并不是你想象中的
那么难或者是那么简单,要善于专心思考问题,所学知识要常用。
太原科技大学:名字起个什么
电子技术课程设计
-----序列检测器的设计
学 院: 专业班级: 姓 名: 学 号: 指导老师:
1
2
太原科技大学:名字起个什么
一、 设计任务与要求
1. 设计一个序列检测器,在上升沿的作用下,输入一组二进制码,与预先设置的吗“11100101”一致时,输出A,不同时则输出B,(在检测过程中,任何一位不相等都将回到初始状态重新开始检测。)
二.总体框图
脉冲发生器:为检测器提供脉冲。
检测器:具有存储功能。
数码显示器:显示输出A或B
方案:设计手动的脉冲发生器为检测器提供脉冲,使其正常工作,然后设计检测器存储的数字为”11100101”再用译码器使其显示在数码管上,这就要求检测器必须记住前一次的正确吗及正确序列,直到在连续的检测中所收到的每一位吗与预置数的对应码相同,否则重新开始检测。
其功能图如下图所示:
太原科技大学:名字起个什么
四、功能模块
1.脉冲发生器 VHDL程序:
LIBRARY ieee;
use ieee.std_logic_1164.all; entity pulse is
port(pul,M: in std_logic; nq,q: out std_logic
--VGA:out std_logic_vector(3 downto 0) ); end pulse;
architecture a of pulse is signal temp: std_logic; begin
--VGA
if rising_edge(m) then if pul='0' then temp
3
4
太原科技大学:名字起个什么
temp
生成的模块:
此作用是为序列检测器提供合适的脉冲,手按按钮IO3,Q输出一个脉冲给下个模块的CLK。
逻辑功能表
二、序列检测器
1、VHDL程序:
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
if clr = '1' then q
when 0=> if din = d(7)then q if din = d(6)then q if din = d(5)then q if din = d(4)then q if din = d(3)then q if din = d(2)then q if din = d(1)then q if din = d(0)then q q
5
6
太原科技大学:名字起个什么
process ( q ) begin
if q = 8 then ab
2、生成的模块:
此模块是一个对序列“11100101”的检测,当输入端DIN在 八个脉冲的作用下分别输入11100101时Q端输出B,否则输出A.这种检查的关键在于正确码的收到必须是连续的,这就 要求检测器必须记住前一次的正确码及正确序列,直到在 连续的 检测中所收到的每一位码都与“11100101”对应相同。
三、分频器
1、VHDL程序:
LIBRARY ieee;
use ieee.std_logic_1164.all; entity deled is
port(ab: in std_logic_vector(3 downto 0); --sel: in std_logic;
太原科技大学:名字起个什么
led: out std_logic_vector(6 downto 0) ); end deled;
architecture a of deled is --signal temp: std_logic; begin
led
7
8
太原科技大学:名字起个什么
"1000111" when ab= "1111" ; END a;
2、生成的模块:
此模块的作用是将输出显示到数码管上。
四、Cyclone系列器件的结构
1、Cyclone器件主要由逻辑阵列块LAB、嵌入式存储器块、I/O单元、嵌入式硬件乘法器和PLL等模块构成,在各个模块之间存在着丰富的互连线和 时钟网络。
Cyclone器件的 可 编程资源主要来自逻辑陈列块LAB,而每个LAB都由多个逻辑单元LE(Logic Element)构成。LE主要由一个4输入的查找表LUT、进位链逻辑和 一个可编程的寄存器构成。4输入的LUT可以完成所有的4输入1输出的组合逻辑功能,进位链逻辑带有进位选择,可以灵活的 构成一位加法或减法逻辑,并可以切换。
LE有三个输出驱动内部互连,一个驱动局部互连,另两个驱动行或列的 互连资源,LUT和寄存器的 输出可以 单独控制。
逻辑阵列块LAB是 由一系列相邻的 LE构成的。每个CycloneLAB包含10个
LE、LE进位链和 级联链、LAB控制信号、LAB局部互连、LUT链和 寄存器链。 在 Cyclone FPGA器件中所含的 嵌入式存储器,由数十个M4K的存储器块构成。在Cyclone中的 嵌入式存储器可以通过多种连线与可编程资源实现连接,这 大大 增强了 FPGA的 性能,扩大了 FPGA的应用范围。
Cyclone的I/O支持多种I/O接口,符合多种I/O标准,可以支持差分的 I/O标准,诸如LVDS和RSDS,当然也 支持普通单端的 I/O标准,通过这些常用的端口与板上的 其他芯片沟通。
五、总体设计电路图
1、该程序是在连续脉冲的作用下检测序列“11100101”当输入完全符合时数码管显示B,当其中有 一个出错时或序列不 对时数码管显示A。 2、电路原理图
太原科技大学:名字起个什么
3、QUARATU SII的仿真结果图与分析
清零端是高电平有效,首先设清零端为高电平使之清零,然后在八个有效脉冲的作用下DIN输入“11100101”且顺序一致,此时数码管显示为“1110111”其它情况为“111100” 说明此电路设计正确。
9
10
太原科技大学:名字起个什么
3、管脚分配图(见下页)
4、实验箱上的验证与实验箱的连接情况。
用一根导线拿IQ3与PB(3)相连。然后打开开关,在手动按钮输入脉冲的作用下在EPIC12板上4位拨码键的SW【0】。分别拨到“11100101”,其中“1”为高电位,“0”为低电位。重复上述几次,多 输几个输入,观察数码管的输出情况,经观察只有输入为“11100101”时数码管显示“A”其它情况显示“B”。
管脚分配图
太原科技大学:名字起个什么
六、心得体会
这次课程设计历时二个星期多左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高,有如下心得:
1,设计性实验最主要的是要有一个清晰的设计思路,关键是自己思考各个
模块是怎么设计的,对每个模块分析思考设计,再去编程,将所有模块组装在一起就完成设计。
2,EDA设计就得多思考多分析能够设计想要的东西。
3,在以后的要加强锻炼自己独立思考和设计思路,不怕困难勇往直前。
11
12
太原科技大学:名字起个什么
4,很多事情是在自己亲手做了以后才会感觉到,其实它并不是你想象中的
那么难或者是那么简单,要善于专心思考问题,所学知识要常用。