一位数字ICer的成长之路
bgskip
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用握手机制实现跨时钟域同步
先挖个坑,后面填上原创 2022-02-15 18:11:03 · 326 阅读 · 1 评论 -
Verilog实现异步FIFO
空满标志产生:满标志:“写时钟阈写指针格雷码” 与 “同步到写时钟阈的读指针格雷码” 高两位不同,其余低位相同即为满。其中高两位中已经包含了折返标志位。空标志:“读时钟阈读指针格雷码” 与 “同步到读时钟阈的写指针格雷码” 全等即为空。直接上源码module FIFO #( parameter data_width = 16, parameter data_depth = 8, parameter addr_width = 4)( input clk_write原创 2022-02-15 11:25:57 · 602 阅读 · 0 评论 -
Verilog实现交通灯及仿真
要求实现一个简单功能十字路口交通灯功能描述如下:S1状态25s,S2状态5s,S3状态25秒,S4状态5秒一、源代码状态机module traffic2 ( input clk, input rst_n, output reg [2:0] light1, //[green, red, yellow] output reg [2:0] light2, //[green, red, yellow] output [5:0] count);转载 2021-12-19 19:28:48 · 11475 阅读 · 7 评论 -
异步复位,同步释放
要求:实现一个异步复位,同步释放电路。复位信号低有效。零、分析改电路的优点是复位信号不受时钟限制,并且又有效减少了亚稳态发生的概率(如果复位信号在时钟上升沿撤销,则有可能产生亚稳态)。核心思想:寄存器打一拍防止亚稳态。一、Verilog代码module Sys_rst ( input clk, input rst_n, output reg rst0, output reg rst1, output sys_rst); always @(pose原创 2021-12-14 17:28:23 · 235 阅读 · 0 评论 -
偶数倍分频器
要求:实现一个8分频器,要求占空比为50%零、分析可以用计数器来控制输出的翻转。计数器从0技术到7,输出信号分别在3,7进行翻转。由此得到50%占空比,周期为8T的分频器。一、Verilog代码module Frequency_divider8 ( input clk, input rst_n, output reg div8); reg [2:0] count; always @(posedge clk) begin if (!rst_n原创 2021-12-14 17:22:51 · 301 阅读 · 0 评论 -
50%占空比的3分频器(奇数分频)
要求:设计一个50%占空比的3分频器一、Verilog代码module Frecuency_divider3 ( input clk, input rst_n, output div3, output reg clk1, //此处的clk2信号是为了在仿真中可见 output reg clk2 //此处的clk2信号是为了在仿真中可见); reg [1:0] count; always@(posedge clk) begin原创 2021-12-14 14:55:48 · 3340 阅读 · 0 评论 -
计数器设计及仿真验证
要求:实现一个计数器,要求在start脉冲到来时开始计数,计数到23时保持不变直到下一个start脉冲到来时重新计数。零、一开始看到这要求以为是要做一个脉冲检测,后来一想,这start脉冲不就是复位信号吗,是在下愚钝了。一、Verilog代码部分:module Counter_24( input clk, input start, output reg [4:0] number);reg start_delay1;wire start_negedge;always@(posed原创 2021-12-13 21:03:37 · 1374 阅读 · 0 评论
分享