v
April ending
坚持
每天一个知识点打卡上传
展开
-
同步双端口ram实现
深度16,数据宽度16, 地址宽度7bit//同步双端口ram,位宽16,深度128module DP_RAM #( parameter ADDR_WIDTH = 7, parameter DATA_WIDTH = 16, parameter DATA_DEPTH = 16) ( input cs_n, input [DATA_WIDTH-1:0]wr_data, input [ADDR_WIDTH-1:0]wr_addr, inpu原创 2021-07-17 16:34:10 · 476 阅读 · 0 评论 -
小数分频设计实现(1.5分频,3.5分频,4.5分频)
module freq_div #( parameter N = 3) ( input clk, input rst_n, output clk_out); //counter reg [3:0] cnt ; always @(posedge clk or negedge rst_n) begin if (~rst_n) begin cnt <= 0; end else if (cnt.原创 2021-06-07 19:21:17 · 2763 阅读 · 0 评论 -
奇数分频实现----占空比50%
中心思想:利用计数器生成目标频率的一半的两个正交相位时钟,然后通过上升沿和下降沿采样后异或得到输出频率module freq_div #( parameter N = 7) ( input clk, input rst_n, output clk_out); //counter reg [3:0] cnt ; always @(posedge clk or negedge rst_n) begin if (~rst_n).原创 2021-06-04 22:53:07 · 451 阅读 · 0 评论 -
一种优化协议时序的pipeline
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2021/05/14 21:52:58// Design Name: // Module Name: tb_pipeline2// Project Name: // Target Devices: .原创 2021-05-14 22:36:08 · 347 阅读 · 0 评论 -
一个简单的pipeline 加法器设计+反压
流水线思想在电路设计中十分重要。一方面在cpu的五级流水设计中,采用pipeline实现同周期指令重叠,(多周期机制划分并插入寄存器。在周期1发起指令1,在进程发起后,周期2再次发起指令1,使得最大程度达到一个周期支持五条指令的执行,基本认为一个周期完成一个指令)增加数据吞吐量;另一方面在复杂组合逻辑单元的采样中,插入寄存器使得单周期内关键路径与延时降低。每一拍进行一次寄存器的更新。下面贴一个流水线加法器的设计:本设计的实现为四个输入相加作为加法器的输入,其中两两相加,分别寄存,最后再加一级寄存算两原创 2021-05-12 23:01:43 · 1089 阅读 · 0 评论