ICode9

精准搜索请尝试: 精确搜索
  • Spyglass CDC工具使用(二)2022-07-07 15:35:52

      最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结。 做CDC检查使用的是Spyglass工具。以下内容转载自:Spyglass检查之CDC(2) | 码农家园 (codenong.com) 文章目录 Clock_info01 Reset_info1 Setup_clock01 本文主要介绍cdc_setup过程中的rul

  • 关于sv中竞争冒险的理解2022-02-20 17:02:51

    1.采样和数据和数据驱动问题:  上图中,clk2表面上跟随clk1的变化,但是实际上clk2滞后clk1一个delta-cycle(如下图);同时,数据d1的变化也在clk上升沿后的一个delta-cycle,与clk2同时变化。所以,由于各种可能性,clk与被采样数据之间可能只存在N个delta-cycle的延迟,那么采样可能会存在问

  • FPGA奇数分频的实现2022-02-07 13:30:00

    在FPGA开发中,我们往往需要对时钟进行分频,得到满足我们需求的时钟频率。尽管这些分频的工作完全可以由PLL等ip核完成,但通过verilog语言同样也可以实现。在本博客中,我们仅讨论整数倍分频。 偶数倍分频 偶数倍分频的实现较为简单,一般是设置一个计数器,从0开始计数,达到N-1后又重新

  • EDA实验(Quartus Ⅱ+fpga) (二)---时序电路的设计-模可变计数器设计2022-01-23 21:01:58

    前言: 本文主要介绍了EDA原理与应用这门课程的相关实验及代码。使用的软件是Quartus Ⅱ,该实验使用fpga芯片为cycloneⅤ 5CSEMA5F31C6。 (一)实验目的 (1)进一步熟悉EDA开发板和QuartusⅡ软件的使用方法。 (2)学习静态数码管的使用和7段数码显示译码器设计; (3)掌握时钟在时序电路中的作

  • 日常记录(29)断言property2022-01-03 13:34:41

    断言 module taa (); reg clk1, clk2, clk3; reg a,b,c,d,e,f,g,h; initial begin fork begin clk1=0; forever #2 clk1=~clk1; end begin clk2=0; forever #3 clk2=~clk2; end

  • ZYNQ-仿真2021-11-16 21:31:20

    `timescale 1ns / 1ps 仿真单位/仿真精度 reg :always wire : assign `timescale 1ns / 1ps module tb_led_twinkle(); //输入 reg sys_clk1; reg sys_rst_n; //输出 wire [1:0] led; //信号初始化 initial begin sys_clk1 = 1'b0; sys

  • SystemVerilog 语言部分(二)2021-05-31 12:03:54

    接口interface: 既可以设计,也可以用来验证。 验证环境:interface使得连接变得简单不容易出错。 interface可以定义端口,单双向信号,内控部使用initial always task function interface 可以在硬件环境和软件环境中传递。也可以作为软件方法的形式参数 可以把interface看做“插排”。 t

  • glitchless的时钟切换电路2020-07-25 21:00:14

    问题: 在多时钟设计中可能需要进行时钟的切换。由于时钟之间可能存在相位、频率等差异,直接切换时钟可能导致产生glitch。   组合逻辑实现时钟切换: HDL代码: module clock_mux( input clk0, clk1, input select, output out_clock ); assign out_clock = selsect

  • 无毛刺的时钟切换2020-06-08 12:38:41

    无毛刺的时钟切换 无毛刺时钟切换要点: 常规组合逻辑电路:电平相反时切换必出现毛刺 相关时钟切换:下降沿切换(反馈实现),下个上升沿切换生效,要会画电路图 无关时钟切换:下降沿触发器之前有个上升沿触发器,消除亚稳态,要会画电路图 前言:在设计多时钟系统中,需要切换时钟源,这两

  • FPGA学习笔记17--always块产生波形2020-03-12 16:05:58

    module test2; reg clk1,clk2; parameter CYCLE = 100; always begin {clk1,clk2} = 2'b10; #(CYCLE/4) {clk1,clk2} = 2'b01; #(CYCLE/4) {clk1,clk2} = 2'b11; #(CYCLE/4) {clk1,clk2} = 2

  • 跨时钟域处理方法总结2020-03-08 11:04:30

    目录 跨时钟域处理 1. 异步时序定义 2. 亚稳态 3. 同步策略 方法一:双锁存器 方法二:握手信号(结绳法) 方法三:异步双口RAM+格雷码 跨时钟域处理 为了彻底理解跨时钟域问题,多方搜集资料,做个简单整理备忘。主要参考了如下几个资源: https://zhuanlan.zhihu.com/p/45186793 跟IC

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有