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

HDLbits: Dualedge

FPGA没有双边缘触发触发器,@(posedge clk或negedge clk)会报错

“FPGA(以及其他任何地方)上的触发器是一个具有一个时钟且仅对该时钟的一个边缘敏感的器件。”参考verilog为什么不能双边沿触发

实现双边沿的两种方法

module top_module (input clk,input d,output q
);reg a,b;always@(posedge clk)begina <= d;endalways@(negedge clk)beginb <= d;endassign q = clk?a:b;endmodule

HDLbits官方答案 

module top_module(input clk,input d,output q);reg p, n;// A positive-edge triggered flip-flopalways @(posedge clk)p <= d ^ n;// A negative-edge triggered flip-flopalways @(negedge clk)n <= d ^ p;// Why does this work? // After posedge clk, p changes to d^n. Thus q = (p^n) = (d^n^n) = d.// After negedge clk, n changes to d^p. Thus q = (p^n) = (p^d^p) = d.// At each (positive or negative) clock edge, p and n FFs alternately// load a value that will cancel out the other and cause the new value of d to remain.assign q = p ^ n;// Can't synthesize this./*always @(posedge clk, negedge clk) beginq <= d;end*/endmodule

http://www.lryc.cn/news/184484.html

相关文章:

  • 网络安全_黑客(自学)
  • AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
  • C++day01(QT简介、C++)
  • Web server failed to start. Port 8080 was already in use
  • new和malloc的区别
  • python:openpyxl 读取 Excel文件,显示在 wx.grid 表格中
  • 12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV
  • P1014 [NOIP1999 普及组] Cantor 表
  • JMeter性能分析实战一:日常登录接口
  • 内外网结合的多服务发布架构
  • Unity中Shader的光照模型Lambert
  • (一)Log4Net - 介绍
  • [bug] mysql 时间与本地不一致
  • 【改造先序遍历】222. 完全二叉树的节点个数
  • windows文件和目录相关命令
  • TL-ER3220G端口映射设置
  • MySQL Cluster
  • Spring封装的原生WebSocket使用,带组的实现
  • Linux高性能服务器编程 学习笔记 第十一章 定时器
  • jenkins拉取git代码 code 128解决方案
  • 【Linux】 ls命令使用
  • 【CVE-2023-35843】NocoDB 任意文件读取漏洞
  • 在 ubuntu 22.04 上配置界面服务器 vnc
  • 强化学习------Sarsa算法
  • [HNCTF 2022 WEEK2]easy_unser - 反序列化+wakeup绕过+目录绕过
  • FastThreadLocal 快在哪里 ?
  • ggkegg | 用这个神包玩转kegg数据库吧!~(一)
  • 【小黑送书—第三期】>>《深入浅出SSD》
  • linux虚拟机查看防火墙状态
  • Docker 安装 MongoDB