上一页 1 2 3 4 5 6 7 8 ··· 12 下一页

2011年3月20日

SDRAM时序--读高手进阶,终极内存技术指南

摘要: SDRAM工作的大体流程 1、 首先,我们知道内存控制器要先确定一个P-Bank的芯片集合,然后才对这集合中的芯片进行寻址操作。因此要有一个片选的信号,它一次选择一个P-Bank的芯片集(根据位宽的不同,数量也不同)。被选中的芯片将同时接收或读取数据,所以要有一个片选信号。 2、 接下来是对所有被选中的芯片进行统一的L-Bank的寻址,目前SDRAM中L-Bank的数量最高为4个,所以需要两个L-... 阅读全文

posted @ 2011-03-20 16:40 齐威王 阅读(6248) 评论(0) 推荐(1) 编辑

2011年3月17日

门控时钟的使用

摘要: 组合逻辑中多用门控时钟,一般驱动门控时钟的逻辑都是只包含一个门,如果有其他的附加逻辑,就容易因竞争而产生不希望的毛刺。门控时钟通过一个时能信号控制时钟的开关。当系统不工作时可以关闭时钟,整个系统处于非激活状态,这样就能够在某种程度上降低系统功耗。 然而,使用门控时钟并不符合同步设计的思想,它可能会影响设计的实现和验证。单纯从功能上看,使用使能时钟替代门控时钟是一个不错的选择;但是使能时钟在使能信号关闭时,时钟信号仍然在工作,它无法像门控时钟那样降低系统的功耗。 Altera的解决方案: 对于上升沿有效的系统时钟clk,他的下降沿先把门控时钟打一拍,然后再用这个使能信号和系统时钟clk相与后作. 阅读全文

posted @ 2011-03-17 15:03 齐威王 阅读(8930) 评论(0) 推荐(2) 编辑

2011年3月15日

组合逻辑中容易综合出锁存器的几种电路和解决方法

摘要: 环境QuartusII8.1在组合逻辑中,容易综合出锁存器的语句是if和case,其实只要配对使用if...else;case用default就基本上可以避免锁存器;case1(有锁存器):module mux_latch( input [3:0] data, input [1:0] valid, input flag, output reg valid_data);always @ (*) begin if(valid==2'd0) valid_data = data[3]; if(valid==2'd1) valid_data = data[2]; if(valid==2& 阅读全文

posted @ 2011-03-15 17:29 齐威王 阅读(3582) 评论(0) 推荐(1) 编辑

无符号数与有符合数的加法

摘要: 首先,考虑一个问题,在Verilog中assign answer = i_a+i_b-i_c;assign answer_signed = $signed(i_a)+$signed(i_b)-$signed(i_c);assign answer_unsigned = $unsigned(i_a)+$unsigned(i_b)-$unsigned(i_c);这几种形式有什么区别?实验如下,建立源文件和测试文件`timescale 1ns/1nsmodule signed_test(i_a,i_b,i_c,i_mode,o_answer);input [7:0] i_a,i_b;input [31 阅读全文

posted @ 2011-03-15 16:41 齐威王 阅读(2864) 评论(0) 推荐(1) 编辑

VS2010下的第一个C++程序

摘要: #include<iostream>using namespace std;int main(){ int i=0,j=0; for(j=1;j<=7;j++) { if(j<=4) { for(i=1;i<=2*j-1;i++) { cout<<"*"; } cout<<endl; } else { for(i=1;i<=15-2*j;i++) { cout<<"*"; } cout<<endl; } } system("pause"); retur 阅读全文

posted @ 2011-03-15 14:35 齐威王 阅读(491) 评论(0) 推荐(0) 编辑

2011年3月11日

线性移位寄存器LFSR电路设计

摘要: module LFSR ( input clk, input rst_n, output out);reg [9:0] q=10'b1010101010;wire tap = q[2]^q[9];assign out = q[9];always @ (posedge clk,negedge rst_n)if(!rst_n) q <= 10'b1010101010;else q <= {q[8:0],tap};endmodule将LFSR赋初始值1010101010,最低为q0=q2 xor q9,输出为最高位q9;测试程序如下:`timescale 1 ns/1 n 阅读全文

posted @ 2011-03-11 17:14 齐威王 阅读(2853) 评论(0) 推荐(0) 编辑

2011年3月10日

数据补零对信号频谱的影响

摘要: 连续时间信号经采样、截断后的序列为Xn(n),其频谱函数XN(ejw),并不随序列末端补零而改变,信号的频率分辨率为Fs/N.序列末端补零只能提高信号频谱显示的分辨率。换句话说,如果连续时间信号在离散化或时域加窗截断过程中,由于频谱泄漏或混叠等原因已造成信号频谱中信息的失真,则无论怎么补零做DFT,都无法再恢复已损失的信息。 提高信号的频率分辨率只有提高信号的采样频率或增加序列的截断长度N(信号的持续时间加长)。1)数据后面补零-------不能提高信号的频率分辨率 序列末端补零后,尽管信号的频谱不会变化,但对序列做补零后L点DFT后,计算出的频谱实际上是原信号频谱在[0,2*pi)区间上L. 阅读全文

posted @ 2011-03-10 10:45 齐威王 阅读(5973) 评论(2) 推荐(0) 编辑

2011年3月7日

FSK调制

摘要: 2FSK调制的原理就不多说了,直接上电路,当码元为0的时候选择频率f1,当码元为1的时候选择频率f2module mux_freq( input clk, input rst_n, input code, output reg [9:0] freq);wire [9:0] f1;wire [9:0] f2;assign f1 = 10'b0000_000_000;assign f2 = 10'b0000_100_001;always @(posedge clk,negedge rst_n)if(!rst_n) freq <= 10'd0;else if(!code 阅读全文

posted @ 2011-03-07 20:24 齐威王 阅读(852) 评论(0) 推荐(0) 编辑

复位与亚稳态

摘要: 1.PLL电路复位和亚稳态 亚稳态对于一个寄存器的影响相对来说是比较小的,但是对于诸如总线式的寄存器受到亚稳态的影响就比较大了,搞不好是致命的打击。 在带有复位端的DFF中,当reset信号“复位”有效时,它可以直接驱动最后一级的与非门,令Q端“异步”置位为1或0,这就是异步复位。当这个复位信号release时,Q端输出由前一级的内部输出决定。然而,由于复位信号不仅直接作用于最后一级门电路,而且也会作为前级电路的一个输入信号,所以这个前一级的内部输出也受到复位的影响。前一级的内部电路实际上是实现了一个“保持”功能,即在时钟沿跳变附近锁住当时的输入值,使得在时钟变为高电平时不再受输入信号的影响. 阅读全文

posted @ 2011-03-07 20:15 齐威王 阅读(1013) 评论(0) 推荐(0) 编辑

2011年1月19日

VGA汉字显示实验

摘要: 参考特权同学的深入浅出玩转FPGA的VGA显示实验,分辨率1440×900@60[代码] 阅读全文

posted @ 2011-01-19 22:51 齐威王 阅读(2955) 评论(1) 推荐(1) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 12 下一页

导航