VHDL语言序列信号发生器的实现

这篇具有很好参考价值的文章主要介绍了VHDL语言序列信号发生器的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:实现图示电路(产生1101001序列码)

详细描述:用VHDL设计194,再用VHDL层次结构设计方法设计程序实现图示电路并仿真,底层器件是194,要求层次化设计,分模块调试

VHDL语言序列信号发生器的实现

 

二、底层器件

  1.  194
  1. 代码:
LIBRARY IEEE;                                                            

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;



ENTITY jicunqi IS

       PORT(

       CR,CP,SL,SR:IN STD_LOGIC;

       S0,S1:IN STD_LOGIC;

       D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

       Q0,Q1,Q2,Q3:out STD_LOGIC

       );

END jicunqi;



ARCHITECTURE behavior OF jicunqi IS

signal M1:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

       PROCESS(CR,CP)

       BEGIN

              IF CR='0'     THEN

                     M1<="0000";

              ELSIF CP'EVENT AND CP ='1'    THEN

                     IF S1='0'     AND S0='1' THEN    M1<=SR&M1(3 DOWNTO 1);

                     ELSIF S1='1' AND S0='0'     THEN M1<=M1(2 DOWNTO 0)&SL;

                     ELSIF S1='1' AND S0='1'     THEN M1<=D;

                     END IF;

              END IF;

       END PROCESS;

       Q3<=M1(0);Q2<=M1(1);Q1<=M1(2);Q0<=M1(3);

END BEHAVIOR;
  1. Flow Summary

VHDL语言序列信号发生器的实现

 

      2.仿真波形及解释

VHDL语言序列信号发生器的实现

 

此波形图是验证194的异步清零和并行置数功能

如图 S1和S0置1,D3为高位D0为低位,Q0为低位,Q3为高位。当CP上升沿到达时,Q3Q2Q1Q0的状态开始改变。

当第一个CP上升沿到达时,CR为0,D3D2D1D0为1111,验证同步置数功能,Q3Q2Q1Q0为1111。

第二个CP上升沿到达时,当CR为1时,实现异步清零,Q3Q2Q1Q0为0000,

第三第四第五个CP重复上述操作。

第六个CP上升沿到达时, D3D2D1D0为0001,Q3Q2Q1Q0为0001

同理可得

D3D2D1D0为0010,Q3Q2Q1Q0为0010

D3D2D1D0为1001,Q3Q2Q1Q0为1001

D3D2D1D0为0011,Q3Q2Q1Q0为0011

D3D2D1D0为0110,Q3Q2Q1Q0为0110

D3D2D1D0为0000,Q3Q2Q1Q0为0000

D3D2D1D0为0100,Q3Q2Q1Q0为0100

D3D2D1D0为0111,Q3Q2Q1Q0为0111

VHDL语言序列信号发生器的实现

 

此波形图验证194的右移功能S1为0,S0为1,实现右移功能,如上图所示

当S1置0,S0置1,当SR为1时,随着时钟上升沿的到达,SR进入Q0,并在CP的上升沿进行改变,右移1,Q0Q1Q2Q3从0000状态变成1000,1100,1110,1111,

当SR为0时,右移0,Q0Q1Q2Q3从1111依次变为0111,0011,0001,0000,实现了194的右移功能。

VHDL语言序列信号发生器的实现

 

此波形图验证194的左移功能S1为1,S0为0,实现左移功能,如上图所示

当S1置1,S0置0,当SR为1时,随着时钟上升沿的到达,SL进入Q3,并在CP的上升沿进行改变,左移1,Q0Q1Q2Q3从0000状态变成0001,0011,0111,1111,

当SR为0时,左移0,Q0Q1Q2Q3从1111依次变为1110,1100,1000,0000,实现了194的左移功能。

VHDL语言序列信号发生器的实现

 

如图 当S1S0全置0时,电路保持原状态

  1. 二输入异或门
  1. 代码:
Library IEEE;
USE IEEE.std_logic_1164.all;

ENTITY yihuo IS
 PORT(a,b:IN std_logic;
      c:OUT std_logic);
END yihuo;

ARCHITECTURE behavior of yihuo is
 BEGIN c<=(a and not b)or(not a and b);
END ARCHITECTURE behavior;
  1. Flow Summary:

VHDL语言序列信号发生器的实现

 

      2.波形仿真及解释:

VHDL语言序列信号发生器的实现

 

此图验证的是异或的逻辑功能

其中,a与b为输入,c为输出

当a为0,b为1时,输出c为1

当a为1,b为0时,输出c为1

当a为1,b为1时,输出c为0

当a为0,b为0是,输出c为0

满足了c=a⊕b=a·b'+a'·b

  1. 三输入或非门

(1)代码:

Library IEEE;

USE IEEE.std_logic_1164.all;



ENTITY huofei IS

 PORT(a,b,c:IN std_logic;

      d:OUT std_logic);

END huofei;



ARCHITECTURE behavior of huofei is

 BEGIN d<=not(a or b or  c);

END ARCHITECTURE behavior;
  1. Flow Summary:

VHDL语言序列信号发生器的实现

 

  1. 波形仿真及解释:

VHDL语言序列信号发生器的实现

 

此图验证的是三输入或非的逻辑功能

其中a,b,c为输入d为输出

由d=not(a+b+c),可以得知当a,b,c中任意一个输入1,其输出都为0,而图中当a、b、c单独为1时,d的输出都为0,当a、b,a、c,b、c,a、b、c都为1时,d也输出0,当且仅当a、b、c都为0时d才输出1。

三、完整电路

  1. 代码:
LIBRARY IEEE;                                                            

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;



ENTITY homework IS

PORT(

       CP:IN STD_LOGIC;

       Z:out STD_LOGIC

       );

END homework;



ARCHITECTURE behavior OF homework IS

COMPONENT JICUNQI

PORT(

       CR,CP,SL,SR:IN STD_LOGIC;

       S0,S1:IN STD_LOGIC;

       D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

       Q0,Q1,Q2,Q3:out STD_LOGIC

       );

END COMPONENT jicunqi;



COMPONENT YIHUO

 PORT(a,b:IN std_logic;

      c:OUT std_logic);

END COMPONENT YIHUO;



COMPONENT HUOFEI

 PORT(a,b,c:IN std_logic;

      d:OUT std_logic);

END COMPONENT HUOFEI;



signal E,F,G,H,J:STD_LOGIC;

BEGIN

       U1: jicunqi PORT MAP(Q2=>G,S0=>'1',D=>"1111",CP=>CP,CR=>'1',Q0=>E,Q1=>F,S1=>J,SR=>H,SL=>'1');

       U2: yihuo  PORT MAP(A=>E,B=>G,C=>H);

       U3:huofei  PORT MAP(A=>E,B=>F,C=>G,D=>J);

       Z<=G;

END BEHAVIOR;
  1. Flow Summary:

VHDL语言序列信号发生器的实现

 

  1. 波形仿真及其解释:

仿真波形输出截图:

VHDL语言序列信号发生器的实现

 

所设计的电路为一个右移的反馈型序列信号发生器,CP为时钟信号,Z为输出

电路的态序表如下:

VHDL语言序列信号发生器的实现

 

初始输入状态为1111,当CP上升沿到达时,74LS194开始进行移位操作,电路依次输出1101001文章来源地址https://www.toymoban.com/news/detail-500251.html

到了这里,关于VHDL语言序列信号发生器的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程 可产生正弦波

    基于FPGA的DDS原理信号发生器设计 quartusII 9.1平台 Verilog HDL语言编程  可产生正弦波、方波、锯齿波以及三角波   频率幅度可调节   代码+原理图 在现代电子技术领域,针对各种应用的信号发生器是一种非常核心的设备,而基于现场可编程逻辑门阵列(FPGA)的直接数字合成(

    2024年04月27日
    浏览(60)
  • DDS信号发生器Verilog波形发生器FPGA

    名称:DDS信号发生器Verilog波形发生器 软件:Quartus 语言:Verilog 要求:  1.可产生正弦波,锯齿波,三角波,方波4种波形,频率可调  2.具有波形选择、起动、停止功能。 代码下载:DDS信号发生器Verilog波形发生器_Verilog/VHDL资源下载 代码网:hdlcode.com 部分代码展示 设计文档

    2024年02月07日
    浏览(50)
  • 「Verilog学习笔记」信号发生器

    专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网         方波的实现,较为简单,只需要设置一个计数器,使输出保持10个时钟为0,跳变为20,再保持10个时钟。依次循环。可以按照如下的过程实现:cnt每个时钟加一,当cnt=

    2024年02月05日
    浏览(40)
  • 电子制作——ICL8038信号发生器

    电子制作——一个电调的诞生之路 电子制作——ICL8038信号发生器 寒假放假在家,手头刚好缺了一个信号发生器用。在网上查了资料,发现ICL8083这个芯片很不错,虽然有点老,但是用起来方便,制作电路板发厂又很简单,所以做了一个DEMO以供实验用。 ICL8038是一个可以产生多

    2023年04月17日
    浏览(34)
  • 基于FPGA的信号发生器(四)

         基于FPGA的信号发生器的硬件电路通常需要以下组件: FPGA芯片:FPGA芯片是这个电路的核心部件,用于实现信号生成算法和控制逻辑。选择合适规模的FPGA芯片以满足你的信号发生器的性能和功能需求。 时钟源:信号发生器需要一个稳定的时钟源,以确定信号的频率和采

    2024年04月14日
    浏览(48)
  • FPGA实验五:信号发生器设计

    目录 一、实验目的 二、设计要求 三、实验代码 1.代码原理分析 2.代码设计思路

    2024年02月12日
    浏览(40)
  • 基于AD9833的信号发生器

    本文利用FPGA控制AD9833,实现信号发生器的功能。本文将对AD9833的手册进行详细的解读,并对其配置方法进行解析,最后在Verilog中进行编码,将代码烧录置FPGA中,FPGA通过外部引脚控制AD9833输出所需要的正弦波、方波和三角波。三种波形能够输出的频率范围为0~12.5Mhz。 AD9833是

    2024年02月03日
    浏览(45)
  • FPGA实现的多波形信号发生器,支持正弦、方波、锯齿波、三角波及调制,配备仿真和实物制作功能,使用Verilog HDL编写

    基于FPGA的DDS多波形信号发生器,可以产生正弦波,方波,锯齿波三角波,调制波形2psk.2askAM调制,可以仿真,可以制作实物,可以进行讲解! 使用可以使用Quarter9.0自带仿真软件进行仿真波形。 也可以使用quarter13.1与modesim进行联合仿真进行仿真波形! 使用verilog HDL语言进行编

    2024年04月12日
    浏览(51)
  • 基于FPGA的DDS信号发生器

        两个礼拜前就像写这个文档了,但是一直鸽到现在,主要是人摆了。还有个技术上的原因是,我想用串口屏显示波形,在串口调试助手上返回的数据是对的,但是发到串口屏上啥反应没有,人就很麻,如果这个弄不出来,前面 HMI 串口屏的工程、人机交互界面就白做了。

    2024年02月06日
    浏览(46)
  • QuartusDDS信号发生器Verilog代码仿真

    名称:QuartusDDS信号发生器Verilog代码仿真(文末获取) 软件:Quartus 语言:Verilog 代码功能: DDS信号发生器 可以输出正弦波、方波、三角波 可以改变波形的频率 1. 工程文件 2. 程序文件 3. 程序编译 4. RTL图 5. Testbench 6. 仿真图 整体仿真图 方波ROM模块 三角波ROM模块 Sin波ROM模块

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包