自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 数字IC手撕代码(九)

问题:枕头检测,frame_head来脉冲的同时din会来数据,连续三次数据都是8‘h23的话就输出一个脉冲。比较懵的点是(frame_head)是一个单bit的标志脉冲(标志数据开始有效)?还是类似于数据的有效信号?假定为类似数据的有效信号。这个题目让我来做的话,我先会这样写(不考虑资源消耗)module frame( input clk, input rst_n, input frame_head, input [7:0] din, output detect);reg [23:

2020-08-13 15:40:49 1558 1

原创 数字IC手撕代码(八)

这次打算写异步FIFO和同步FIFO吧异步FIFO设计中四个部分:(1)Memory,存储数据(2)写逻辑,主要产生写信号和写地址(3)读逻辑,主要产生读信号和读地址(4)跨时钟域地址比较,产生FIFO的空、满标志技术关键点:(1)读写地址信号跨时钟域同步(2)读写地址的比较(3)将空和将满的产生module afifo #( parameter DATASIZE = 8, parameter ADDRSIZE = 4, parameter ALMOST_GAP = 3)(

2020-08-13 08:11:52 1032

原创 数字IC手撕代码(七)

问题:输入一个16bit的数,现在要求它除以3得到的商和余数?如何优化?看到这个题目,第一个想到的方法就是最传统的减3,商加1,判断余数,然后一直减、一直加,直到最后的余数小于3,这个方法最蠢最直观。先用这个方法实现一下。module divid( input clk, input rst_n, input [15:0] din, output reg [1:0] y_dout, output reg [15:0] s_dout);reg [15:0] temp_data;reg en

2020-08-11 10:43:03 1181 2

原创 数字IC手撕代码(六)

之前看到过一个题目是说让做一个序列发生器:产生序列信号11010111**第一种方法:**利用移位寄存器实现module seq_gen( input clk, input rst_n, output dout);reg [7:0] seq_out;always @ (posedge clk or negedge rst_n) begin if(!rst_n) begin seq_out <= 8'b1101_0111; end else begin seq_out &

2020-08-10 16:34:53 985 2

原创 数字IC手撕代码(五)

之前在群里看到别人说这样一个题目:在一串8bit数据流中,求去掉最大数据和最小数据的和。module add_data( input clk, input rst_n, input [7:0] din, input din_vld, output reg [7:0] max_data, output reg [7:0] min_data, output reg [15:0] sum_data);reg [7:0] temp_data_max;reg [7:0] temp_data_m

2020-08-10 14:45:52 969 4

原创 数字IC面试手撕代码(四)

在某个群看到某个大佬,面试海康数字IC实习的时候让手撕代码。现在也把这个题目复现一下。题目正常情况下数据包由起始码(16bit)、数据段(n bytes n < 256 )、结束码(16bit)三部分组成。起始码为0xFF00、结束码为0xFF01。在一个完整的数据包中,数据段部分不会出现起始码和结束码。请设计一个电路在码流中检测完整且有效的数据包,并输出当前数据包的有效长度n。输入接口in:clk、rst_n、din[7:0]、din_vld输出接口out:data_cnt[7:0]、data_

2020-08-10 09:54:44 2150 2

原创 SRAM与DRAM之存储原理

      静态随机存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种。“静态”是指这种存储器只要保持通电,里面储存的数据就可以保持住。      SRAM的存储原理是靠双稳态电路存储器中最小的存储单元就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储单元,可以存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元

2020-08-06 09:29:07 6778 1

原创 任意偶数长度Gray码序列及其在异步FIFO设计中的应用

任意偶数长度Gray码序列及其在异步FIFO设计中的应用任意偶数长度的Gray码序列,在异步FIFO设计中,只需要对控制逻辑做少量的改动即可得到任意偶数深度的异步FIFO。在保持性能不变的前提下,改进后的异步FIFO能明显减少电路面积。1、任意偶长度Gray码序列的存在性及构造方法(1)首先证明对于任意奇数N,不存在长度为N的Gray序列。不失一般性,假设存在任意长度为奇数N的Gray码序列,且以全0为起点。序列中N个编码映射到立方体的N个顶点;有Gray码的定义可知N个点之间可以建立一条哈密尔

2020-08-02 21:42:09 1012

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除