当前位置: 首页 > news >正文

开传奇私服网站怎么做西安网站优化推广方案

开传奇私服网站怎么做,西安网站优化推广方案,合肥房产网,wordpress火车头数据库模块今天的项目是在 Verilog HDL 中实现可编程数字延迟定时器。完整呈现了延迟定时器的 Verilog 代码。 所实现的数字延迟定时器是 CMOS IC LS7212,用于生成可编程延迟。延迟定时器的规格可以在这里轻松找到。基本上,延迟定时器有 4 种操作模式:…

今天的项目是在 Verilog HDL 中实现可编程数字延迟定时器。完整呈现了延迟定时器的 Verilog 代码。
在这里插入图片描述
所实现的数字延迟定时器是 CMOS IC LS7212,用于生成可编程延迟。延迟定时器的规格可以在这里轻松找到。基本上,延迟定时器有 4 种操作模式:一次性 (OS)、延迟操作 (DO)、延迟释放 (DR)、双延迟 (DD)。这四种模式将通过输入 mode_a 和 mode_b 选择。
在这里插入图片描述
wb[7:0] 输入用于根据延迟定时器规范中给定的方程对延迟进行编程。要了解更多它在每种模式下的工作原理以及输入如何控制延迟,请参阅其数据表。以下波形显示了每种模式下延迟的产生方式。

在这里插入图片描述
以下是可编程数字延迟定时器 LS7212 的 Verilog 代码。

//fpga4student.com: FPga projects, Verilog projects, VHDL projects// Verilog project: Verilog code for delay timer LS7212 module delay_timer_ls7212  (   input [7:0] wb, // weighting bits  input clk, // clock inputinput reset, // timer reset  input trigger, // trigger input  input mode_a, mode_b, // mode bits A and B  output reg delay_out_n // delay output, active low  );  reg[7:0] PULSE_WIDTH ;  reg [7:0] DELAY;  reg [7:0] TIMER=0;  reg trigger_sync_1=0,trigger_sync_2=0;  wire trigger_rising,trigger_falling;  reg timer_start=0,out_low=0;  wire timer_clear2,timer_clear3,timer_clear;  reg [1:0] mode;  reg reset_timer1=0,reset_timer2=0,reset_timer=0;  wire reset_timer3,reset_det;  reg reset_det1=0,reset_det2=0;  
//fpga4student.com: FPga projects, Verilog projects, VHDL projectsalways @(posedge clk)  begin  trigger_sync_1 <= trigger; // the first Flip-Flop  trigger_sync_2 <= trigger_sync_1;// the second Flip-Flop  reset_timer1 <= reset_timer;  reset_timer2 <= reset_timer1;  reset_det1 <= reset;  reset_det2 <= reset_det1;  end  // Identify the zero to one transitions on trigger signal  assign trigger_rising = trigger_sync_1 & (~trigger_sync_2);   assign trigger_falling = trigger_sync_2 & (~trigger_sync_1);   assign reset_timer3 = reset_timer1 & (~reset_timer2);  assign reset_det = reset_det2 & (~reset_det1);  // sample Mode and wb  always @(trigger_rising,trigger_falling,mode_a,mode_b,wb)  begin  if(trigger_falling == 1 || trigger_rising == 1) begin  PULSE_WIDTH = wb;  DELAY = (2*wb + 1)/2;  mode = {mode_a,mode_b};  end  end  // modes  always @(mode,reset,trigger_falling,trigger_rising,TIMER,reset,trigger,PULSE_WIDTH,DELAY,reset_det)  begin  case(mode)  2'b00: // One-Shot Mode  begin  if(reset) begin  out_low <= 0;  timer_start <= 0;  reset_timer <= 1;  end  else if(trigger_rising==1) begin  out_low <= 1;  timer_start <= 1;  reset_timer <= 1;  end  else if(TIMER>=PULSE_WIDTH) begin  out_low <= 0;  timer_start <= 0;  reset_timer <= 1;  end  end  2'b01: // Delayed Operate Mode  begin  if(reset) begin  out_low <= 0;  timer_start <= 0;  reset_timer <= 1;  end  else if(reset_det==1 && trigger==1) begin  timer_start <= 1;  reset_timer <= 0;  end  else if(trigger_rising==1) begin  timer_start <= 1;  reset_timer <= 0;  end  else if(trigger_falling==1 || trigger == 0) begin  out_low <= 0;  reset_timer <= 1;  timer_start <= 0;  end  else if(TIMER >= DELAY) begin  out_low <= 1;  timer_start <= 0;  reset_timer <= 1;  end  //else  //     reset_timer <= 0;  end       2'b10: // Delayed Release Mode  begin  if(reset) begin  out_low <= 0;  timer_start <= 0;  reset_timer <= 1;  end  else if(trigger_rising==1 || trigger == 1) begin  out_low <= 1;  end  else if(trigger_falling==1 ) begin  timer_start <= 1;  reset_timer <= 0;  end  else if(TIMER>=DELAY) begin  out_low <= 0;  timer_start <= 0;  reset_timer <= 1;  end  end       2'b11: // Delayed Dual Mode  begin  if(reset) begin  out_low <= 0;  timer_start <= 0;  reset_timer <= 1;  end  else if(reset_det==1 && trigger==1) begin  timer_start <= 1;  reset_timer <= 0;  end  else if(trigger_falling==1 || trigger_rising==1 ) begin  timer_start <= 1;  reset_timer <= 0;  end  else if(TIMER>=DELAY) begin  out_low <= trigger;  timer_start <= 0;  reset_timer <= 1;  end  end  endcase  end  
//fpga4student.com: FPga projects, Verilog projects, VHDL projects// timer  always @(posedge clk or posedge timer_clear)  begin  if(timer_clear)   TIMER <= 0;  else if(timer_start)  TIMER <= TIMER + 1;  end  assign timer_clear = reset_timer3 | trigger_rising == 1 | timer_clear3 ;  assign timer_clear2 = (trigger_rising == 1)|(trigger_falling == 1);  assign timer_clear3 = timer_clear2 & (mode == 2'b11);  //delay output  always @(posedge clk)  begin  if(out_low == 1)  delay_out_n <= 0;  else  delay_out_n <= 1;  end  endmodule  

延迟定时器的 Testbench Verilog 代码:

`timescale 1ns / 1ps  
//fpga4student.com: FPga projects, Verilog projects, VHDL projects
// Testbench Verilog code for delay timermodule tb_ls7212;  // Inputs  reg [7:0] wb;  reg clk;  reg reset;  reg trigger;  reg mode_a;  reg mode_b;  // Outputs  wire delay_out_n;  //fpga4student.com: FPga projects, Verilog projects, VHDL projects// Instantiate the Unit Under Test (UUT)  delay_timer_ls7212 uut (  .wb(wb),   .clk(clk),   .reset(reset),   .trigger(trigger),   .mode_a(mode_a),   .mode_b(mode_b),   .delay_out_n(delay_out_n)  );  initial begin  // Initialize Inputs  wb = 10;  mode_a = 0;  mode_b = 0;  reset = 0;  trigger = 0;  #500;  trigger = 1;  #15000;  trigger = 0;  #15000;  trigger = 1;  #2000;  trigger = 0;  #2000;  trigger = 1;       #2000;  trigger = 0;       #20000;  trigger = 1;            #30000;  trigger = 0;  #2000;  trigger = 1;  #2000;  trigger = 0;       #4000;  trigger = 1;       #10000;  reset = 1;  #10000;  reset = 0;  // Delay Operate  // Add stimulus here  end  initial begin   clk = 0;  forever #500 clk = ~clk;  end  endmodule  
//fpga4student.com: FPga projects, Verilog projects, VHDL projects

Verilog 中数字延迟定时器的仿真波形
One-Shot Mode
在这里插入图片描述

Delayed Operate Mode
delay timer in Verilog

Delayed Release Mode
delay timer in Verilog

Delay Dual Mode
delay timer in Verilog

可编程延迟定时器的 Verilog 代码是可综合的,并且可以在 FPGA 上实现。

http://www.hrbkazy.com/news/48118.html

相关文章:

  • 重庆住建委官网查询系统aso应用商店优化
  • 建设五证在那个网站可以查百度一下app下载安装
  • 商城网站项目策划书做网络推广的网站有哪些
  • wordpress 仿36氪seo关键词排名优化案例
  • 南京老牌网站建设公司站长工具亚洲
  • 怎样备份网站沧州seo公司
  • 网站建设一般用哪种语言开发百度推广公司怎么代理到的
  • 苏州个人网站制作市场营销手段有哪四种
  • 有没有免费网站制作中国市场营销网
  • 建设银行网站的目的灰色行业怎么推广引流
  • 代运营被骗怎么追回朝阳seo
  • 网站如何备案流程如何查询域名注册人信息
  • 怎样做自己网站robots宁宁网seo
  • 深圳靠谱网站建设公司seo快速排名优化
  • 做行业网站如何采集信息高州网站seo
  • 长春网站优化哪家好一键搭建网站
  • 建设银行网站优点全网引流推广 价格
  • 网站图片地址怎么做网络推广的细节
  • 电子商务网站建设需求顾问
  • wordpress主题搜索站长之家的seo综合查询工具
  • 自己做网站编程网络推广100种方式
  • 网站建设概念搜狗搜索引擎推广
  • 网站自动优化企业如何进行品牌推广
  • 网站做流量软件推广平台有哪些?哪个比较好
  • 深圳市住房和建设局领导广东的seo产品推广服务公司
  • 增城网站建设怎么选择在线搜索引擎
  • 阿里云做网站可以吗软文广告有哪些
  • 网站积分解决方案深圳快速seo排名优化
  • 新手做网页做那个网站简单无锡百度正规公司
  • 政务公开网站项目建设书如何在百度推广