关于信号翻转模块(sig_flag_mod)的实现

关于信号翻转模块(sig_flag_mod)的实现

语言 :Verilg HDL 、VHDL
EDA工具:ISE、Vivado、Quartus II

  • 关键词: Verilog HDL,ifdef 和 endif ,generate语句
一、引言

本文使用FPGA实现环形振荡器,达成信号翻转的作用。

二、实现信号翻转模块的方法
(1)输入接口

在这里插入图片描述

(2)输出接口

在这里插入图片描述

(3)模块实现原理

环形振荡器,是由奇数个非门输出端和输入端首尾相接,构成环状的电路。在环形振荡器原理图中,假设第一级反相器的输入端为低电平,经过5级反相之后,第5级反相器输出端必为高电平。在t=0时刻,此时电源(VDD)通过第5级反相器输出端对第1级反相器的输入电容充电,第一级反相器经过一级平均延迟时间Tdelay1之后,其输出状态发生转换。经过(Tdelay1+ Tdelay2+ Tdelay3+ Tdelay4+ Tdelay5)之后,第5级反相器输出端由高电平转换为低电平。接着第一级的输入电容将通过第5级的输出端放电,经过(Tdelay1+ Tdelay2+ Tdelay3+ Tdelay4+ Tdelay5)之后状态再次发生转换,完成一个振荡周期输出。本模块中实现了121级反相器的翻转。

(4) 模块实现原理图

如下图所示是模块实现原理图和原理图细节图
##### (2)利用vivado软件的插件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(5) 代码
module sig_flap_mod(

    input  clk ,
	 input  EN,
	 input  signal_trigger,
	 
	 output sig_out1 ,
	 output sig_out2


    );

   localparam  NUM =120 ; 

 
(* DONT_TOUCH = "yes" *) wire[NUM:0] sig_out_reg ; 
(* DONT_TOUCH = "yes" *) wire   sig_out_reg2 ; 
   assign sig_out1  = sig_out_reg[0]; 
   assign sig_out2  = sig_out_reg[0]; 
  
  
   and u1( sig_out_reg2  , sig_out_reg [NUM], signal_trigger );
	
	not u2 (sig_out_reg [0] , sig_out_reg2 ) ;
  
  
generate
genvar i;	  
     for ( i=0;i<NUM;i=i+1 )
     begin:inst
    
     not u3 (sig_out_reg[i+1] , sig_out_reg[i]  ) ; 

    end

endgenerate 

endmodule

四、写在最后

相关推荐

  1. 关于Qt中信号与槽

    2024-06-06 00:08:02       18 阅读
  2. 关于焊点检测SJ-BIST)模块实现

    2024-06-06 00:08:02       7 阅读
  3. PyQt中信号/槽以及纯python实现信号/槽设计模式

    2024-06-06 00:08:02       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 00:08:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 00:08:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 00:08:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 00:08:02       18 阅读

热门阅读

  1. 探秘AI艺术:揭开Midjourney绘画的神秘面纱

    2024-06-06 00:08:02       10 阅读
  2. Tomcat启动闪退问题解决方法

    2024-06-06 00:08:02       9 阅读
  3. Oracle 表数据段收缩示例

    2024-06-06 00:08:02       8 阅读
  4. CMakeLists.txt和Package.xml

    2024-06-06 00:08:02       8 阅读
  5. C++--DAY3

    C++--DAY3

    2024-06-06 00:08:02      8 阅读
  6. 直播带货行业的瓶颈来了吗?

    2024-06-06 00:08:02       9 阅读
  7. 旋转之后截取图像

    2024-06-06 00:08:02       7 阅读
  8. 服务器硬件基础知识

    2024-06-06 00:08:02       8 阅读
  9. 【Redis】本地锁和分布式锁的区别

    2024-06-06 00:08:02       7 阅读
  10. Kafka 请求处理揭秘:从入门到精通

    2024-06-06 00:08:02       9 阅读