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

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

语言 :Verilg HDL 、VHDL

EDA工具:ISE、Vivado、Quartus II

一、引言

本文使用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) 模块实现原理图

如下图所示是模块实现原理图和原理图细节图


(5) 代码
bash 复制代码
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

四、写在最后
相关推荐
Saniffer_SH15 小时前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡19 小时前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安20 小时前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐2 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯2 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客2 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA2 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发
明德扬2 天前
AD采集卡应用示例交流:从传感器采集到高速信号验证
fpga开发
傻童:CPU2 天前
PS与PL之间的交互
fpga开发
神奇元创2 天前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发