12 2010 档案

倍频电路设计
摘要:二倍频电路的FPGA设计,在半整数分频中可以用到 阅读全文

posted @ 2010-12-30 16:56 齐威王 阅读(1784) 评论(1) 推荐(0)

PS2解码
摘要:PS2键盘:明确接线关系,只需接4根线,VCC要+5V,刚刚又测试过,3.3V也可以用。时钟和数据线要用bidir双向口线,FPGA可以不用外接上拉电阻。另外,USB键盘也可以用,只要用一个转接头转成PS2即可。键值查表PS2键盘解码其中detect.v模块Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 module detect 2 ( 3 input clk, 4 input rst_n, 5 input ps2_clk_pin_i 阅读全文

posted @ 2010-12-24 15:50 齐威王 阅读(1618) 评论(1) 推荐(0)

按键消抖
摘要:原理图模块消抖电路,利用已经优化好了的LPM库,节省资源,建模速度快。 阅读全文

posted @ 2010-12-24 12:53 齐威王 阅读(900) 评论(0) 推荐(0)

时频分析--瞬时频率
摘要:瞬时频率,定义为解析信号相位的倒数,其物理意义表示向量幅角的转速。为了定义一个信号的瞬时频率,首先必须将分析的信号x(t)转化为解析信号s(t),常有的方法是Hilbert变化,即s(t)=x(t)+jH[x(t)];利用解析信号,可以唯一定义瞬时幅值和瞬时频率为A(t)=|s(t)|,f(t)=(1/(2*pi))*(d arg s(t))/(dt);时频分析工具箱中计算瞬时频率的函数为instfreq.m 阅读全文

posted @ 2010-12-20 19:41 齐威王 阅读(7458) 评论(0) 推荐(0)

小波谱分析mallat算法经典程序
摘要:clc;clear;%% 1.正弦波定义f1=50; % 频率1f2=100; % 频率2fs=2*(f1+f2); % 采样频率Ts=1/fs; % 采样间隔N=120; % 采样点数n=1:N;y=sin(2*pi*f1*n*Ts)+sin(2*pi*f2*n*Ts); % 正弦波混合figure(1)plot(y);title('两个正弦信号')figure(2)ste... 阅读全文

posted @ 2010-12-20 12:47 齐威王 阅读(6565) 评论(1) 推荐(1)

FSM之三--代码风格
摘要:FSM设计之一http://www.cnblogs.com/qiweiwang/archive/2010/11/28/1890244.html Moore型状态机与mealy型状态机相比,由于其状态输出仅与当前状态有关,而与输入无关,所以它可以避免由输入信号引起的毛刺,因此建议采用Moore型状态机。但是在实际的应用中,我们只需要对状态输出进行寄存,即在outputs后面加上一级输出寄存,就可以有效地避免毛刺的传播。 Binary、gray-code编码使用最少的触发器,较多的组合逻辑。而one-hot 编码反之。由于CPLD更多的提供组合逻辑资源,而FPGA更多的提供触发器资源,所以CPLD 阅读全文

posted @ 2010-12-19 12:30 齐威王 阅读(1115) 评论(0) 推荐(0)

时钟使能电路的设计
摘要:时钟使能电路是同步设计的重要基本电路,在很多设计中,虽然内部不同模块的处理速度不同,但是由于这些时钟是同源的,可以将它们转化为单一的时钟电路处理。在FPGA的设计中,分频时钟和源时钟的skew不容易控制,难以保证分频时钟和源时钟同相。故此推荐采用使用时钟使能的方法,通过使用时钟使能可以避免时钟“满天飞”的情况,进而避免了不必要的亚稳态发生,在降低设计复杂度的同时也提高了设计的可靠性。  我们可以利用带有使能端的D触发器来实现时钟使能的功能。在上图中clk1x是CLK的四分频后产生的时钟,clk1x_en是与clk1x同频的时钟使能信号,用clk1x_en作为DFF的使能端,D端的数据只有在cl 阅读全文

posted @ 2010-12-18 21:11 齐威王 阅读(3405) 评论(2) 推荐(0)

常用电路的设计
摘要:边沿检测电路http://www.cnblogs.com/oomusou/archive/2008/08/11/verilog_edge_detection_circuit.htmlhttp://www.cnblogs.com/qiweiwang/archive/2011/01/02/1924098.html串并转换电路http://www.cnblogs.com/oomusou/archive/2009/10/24/p2s_s2p.htmlhttp://www.cnblogs.com/qiweiwang/archive/2010/11/28/1890313.html如何将值延迟几个CLKht 阅读全文

posted @ 2010-12-18 20:07 齐威王 阅读(1728) 评论(2) 推荐(5)

gray码计数器
摘要:Gray码在每次码跳变时,只有一位改变。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->module gray#(parameter N=5)(input clk,input rst_n,output reg [N-1:0] gray_cnt_out);reg [N-1:0] cnt;reg [N-1:0] temp;integer i;always @ (posedge clk ,negedge rst_n)beginif(!rst_n)c 阅读全文

posted @ 2010-12-18 19:51 齐威王 阅读(2272) 评论(0) 推荐(2)

任意整数倍分频器设计
摘要:2^n次方的分频器设计对于一个占空比为50%的模8分频器Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->module mod8_divide( input clk, input rst_n, output clk_divide);reg [2:0] cnt;always @ (posedge clk or negedge rst_n)begin if(!rst_n) cnt <= 3'b000; else cnt <= c 阅读全文

posted @ 2010-12-17 17:45 齐威王 阅读(2445) 评论(0) 推荐(2)

if和case语句
摘要:1、  if...else语句综合出优先级电路,会产生较大的组合逻辑。2、  在组合逻辑中,if语句如果条件分支不完整将综合出锁存器。3、  case语句如果条件分支不完整,将生产锁存器。4、  casez语句将忽略case分支项条件中出现的z值,在设计带优先级的电路时可以使用casez语句。5、  casex语句将忽略case分支项条件中出现的x和z值,实现优先级仲裁器。6、 在有些情况下,虽然case分支不完整,但是由于前级可以保证不会出现未覆盖的分支,此时可以通过综合指令“synthesis full_case”后,综合工具将其综合成不带锁存器的电路。7、 casex语句,假如设计者事先 阅读全文

posted @ 2010-12-17 17:06 齐威王 阅读(3861) 评论(0) 推荐(1)

三态信号
摘要:在实际的系统中,为了减少器件的管脚,降低芯片制造成本,工业标准总线中很多信号线都采用了复用的方式:只有获得总线使用权的设备才能驱动信号,而没有获得总线使用权的设备则不能够驱动信号。为了防止总线的冲突,为获取总线使用权的设备应该将输出信号置为三态,相当于总线断开。这种输出端口便是带三态的输出端口。 人们常说的“输出三态”,并不是指信号的输出除了0和1以外还有第三种状态(数字信号只有0和1),而是指芯片内外断开,互不影响。若总线上所有驱动源均停止驱动而且无上拉电阻或者下拉电阻,则总线悬空,总线对地相当于一个电容:如果关闭总线之前的输出为高电平,则用示波器测量可以观察到电容放电的现象(总线残留电荷. 阅读全文

posted @ 2010-12-17 11:36 齐威王 阅读(3049) 评论(0) 推荐(0)

modelsim-altera仿真
摘要:在用Altera器件做设计,用modelsim做后仿真时,首先要在Quartus中进行工具的设置,setting--EDAtool--simulation—Tool name ---Modelsim(Verilog);然后进行全程编译,在项目目录下会生成simulation文件夹,内部modelsim文件夹中有三个文件,其中*.vo文件即为布局布线后的仿真模型文件,*.sdo文件即为标准的延时文件。  在modelsim中把*.vo文件和Testbench文件加在项目中,进行编译。在此之前,还要编译与器件相关的库文件,这些库文件在Quartus的安装目录下eda/sim_lib。在编译完成之后 阅读全文

posted @ 2010-12-17 10:13 齐威王 阅读(656) 评论(0) 推荐(1)

七段数码管显示
摘要:七段数码管显示IP模块[代码] 阅读全文

posted @ 2010-12-16 22:14 齐威王 阅读(791) 评论(1) 推荐(0)

LCD1602控制器Verilog
摘要:LCD1602的控制器模块和主模块LCD1602的时序和控制寄存器命令见http://www.cnblogs.com/qiweiwang/archive/2010/12/16/1908608.htmlLCD1602的控制模块:[代码]主模块[代码] 阅读全文

posted @ 2010-12-16 22:08 齐威王 阅读(3874) 评论(8) 推荐(2)

LCD1602数据手册
摘要:1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表10-13:引脚接口说明表第1脚:VSS为地电 阅读全文

posted @ 2010-12-16 21:46 齐威王 阅读(15948) 评论(3) 推荐(2)

RS232
摘要:串口程序,可以连续发送和接受CLK_div是RS232时钟产生模块另外两个接受和发送模块如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->module RS_232_r(clk9600,reset,datain,dataout,valid);input clk9600,datain,reset;output reg [7:0] dataout;output reg valid;reg[7:0] temp;reg flag;reg [3:0 阅读全文

posted @ 2010-12-14 22:11 齐威王 阅读(1028) 评论(0) 推荐(2)

FFT及周期图法算功率谱密度
摘要:求FFT变换时,纵坐标和横坐标的问题 阅读全文

posted @ 2010-12-10 09:11 齐威王 阅读(13899) 评论(1) 推荐(1)

RC4算法的430实现
摘要:RC4算法的MSP430实现,本程序中包括按键消抖、SPI传输数据、中断函数、#include <MSP430x14x.h>unsigned char keypoint=0;unsigned char Rpoint=0;int i;unsigned char R_buff[8];unsigned char T_buff[4];unsigned char RR_buff[4];char s_box[256];void getkey(unsigned char *key,int key_len, char *s_box);void main(void){ WDTCTL = WDTPW 阅读全文

posted @ 2010-12-04 09:50 齐威王 阅读(706) 评论(0) 推荐(0)

导航