整理小代码
llllllchang
读书
展开
-
做一下笔记,关于奇数分频
奇数分频之前本科做过很多,现在突然又忘了,最近在整理代码,把一些简单的小代码整理起来,以便以后随时查看。奇数分频采用时钟的上升沿和下降沿分别计数分频得到两个占空比不为50%的时钟信号,然后在进行或操作得到输出的占空比为50%的时钟。下面是奇数分频的小代码,亲测可以实现。//奇数分频代码//作者:昌磊//单位:电子科技大学//时间:2017.9.28module odd_原创 2017-09-28 11:21:51 · 596 阅读 · 0 评论 -
笔记,电平检测模块,用于串口接收
在进行串口接收的模块设计的时候需要对起始电平践行检测,当电平为低时则表示可以开始接收数据,模块的设计思路是通过两个寄存器,接收传进来的数据,当地一个起始位数据为低电平时,则反馈一个接收使能信号//模块名:电平检测模块//作者:昌磊//单位:电子科技大学//时间:2017.9.28module detect_module ( CLK, RSTn, PS2_CLK_Pin转载 2017-09-28 11:37:11 · 761 阅读 · 0 评论 -
笔记,传统乘法器
今天的笔记是关于传统的乘法器,乘法器还是蛮有用的吧,也比较简单。 首先是说一下计算机中数值的存储问题。在计算机中正数是以二进制来表示的,而负数则是以补码的形式来表示的,补码就是对正数二进制取反然后再加1,则形成负数的表达。比如说4和-4,4:0000_0100 表示正4; 1111_1011 进行取反;原创 2017-09-30 09:06:41 · 374 阅读 · 0 评论 -
关于使用FPGA实现sin波形并读取ROM值得问题
在使用FPGA实现sin波形的时候采用查找表法比较简单,也就是读取ROM表的值原创 2017-11-17 11:09:17 · 6583 阅读 · 1 评论 -
verilog小笔记_文件的读取
在verilog语句中,对文件的操作函数有$readmemh和$readmemb函数来操作,两者的区别是前者读取的文件是十六进制的,后者是二进制的。用法有如下:比如对存储器rom进行初始化,将文件filename.dat中的数据读取到rom中,数据格式是十六进制的。 reg [7:0]rom[0:1024]; $readmemh("./filenam原创 2017-11-06 18:50:45 · 1655 阅读 · 0 评论 -
Verilog信号上升沿检测
在FPGA开发的面试中可能会碰到检测上升沿和下降沿的题目。以上升沿为例进行分析。上升沿是信号从低电平变化为高电平的时候,因此我们可以将信号的上一个状态和下一个状态进行采样保存,然后来判断是都是从0变化到1的过程。代码如下: module posedge_detection(clk,rst_n,i_data_in,o_rising_edge);input clk;input rst_n;i转载 2018-04-18 09:13:16 · 18487 阅读 · 0 评论 -
基于LFSR的伪随机序列发生器
伪随机序列在现在的数字电路设计中还是蛮重要的,在找工作面试中也会碰到,因此整理一下伪随机序列发生器的设计。伪随机序列包括m序列,m序列是目前CDMA系统中采用的最基本的PN序列。 是最长线性反馈移位寄存器序列的简称。同时m序列在通信方面有很重要的作用。m序列是由线性反馈移位寄存器产生的。整理一下线性反馈移位寄存器和Verilog编写的序列发生器模块。这是一个典型的线性反馈移位寄存器。通过选取系数原创 2018-04-18 21:11:45 · 5350 阅读 · 1 评论