- 博客(28)
- 资源 (11)
- 收藏
- 关注
转载 SDRAM的工作原理
SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。SDRAM在读写数据时重点注意以下信号: (1)CLK:时钟信号,为输
2014-06-05 17:27:26
3389
1
原创 关于 一元约简运算符 非运算
关于 一元约简运算符 非运算assign f = !a0;4 位assign g = !a1;3 位 assign h = !a2;2 位assign i = !a3;1 位当 a0,a1,a2,a3为零时,f,g,h,i才等于 1// 62414 1111001111001110// b = a[2
2014-02-20 11:34:53
1558
原创 verilog中inout的定义问题
最近在调试一个东西,用到了双向IO口,inout。在我的记忆中,inout得用wire型定义,网上很多人也说要定义为wire 型。但由于设计中的任务,我有意把 inout定义为 reg型。Quartus II 编译没问题,只不过modelsim仿真不行,编译通不过。但问题所在是,下到板子中时,板子能跑通。后来我常规的把 inout 定义为 wire型,Quartus 和modelsim 仿
2014-01-20 20:27:19
9035
1
原创 Verilog中计数器的2中写法对比
功能是,计数记到24,清零,重新计数….第一种写法:module count_debug ( clk, rst_n, dout
2014-01-17 23:12:09
4984
原创 assign的用法,自己收藏,以后可能用的到
module assign_module (sel,dout,data);//----- input -----------------input [2:0] sel;output [2:0] dout;inout [2:0] data;//----- main body --------------assign
2014-01-14 09:50:06
3670
原创 YCbCr2转换成RGB的verilog解析
module YCbCr2RGB (2 input iCLK,3 input iRESET,4 input iDVAL,5 input [7:0] iY,6 input [7:0] iCb,7 input [7:0] iCr,8 output reg
2014-01-05 18:12:28
6560
2
原创 RGB与YCbCr颜色空间的互相转换公式
Y:明亮度(Luminance或Luma),也就是灰阶值。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。Cb:反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。Cr:反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。在以下两个公式中RGB和YCbCr各分量的值的范围均为0-255。RGB转换为YCbCr
2014-01-05 17:07:32
24143
1
转载 上升沿,下降沿
①写数据时,应该先准备好数据,待数据在数据线上稳定后, 再发出时钟上升沿,将数据写入,然后可继续写下一位数据。 ②读数据时,先产生一个时钟下降沿,设备收到该下降沿后,才 将数据放到数据线上。因此,MCU应该要等待一定的时间, 等数据线上的数据出现并稳定后,才能采样数据
2014-01-04 11:53:11
7473
原创 基于verilog的伪随机码
今天上移动通信的课,老师讲到了扩频原理中的伪随机码,在此就想到了fpga中肯定也要用到随机码,所以就编了代码。原理图如下: 代码如下 `timescale 1ns/1psmodule suiji ( clk, dout );input clk
2012-10-23 14:35:35
6534
4
原创 verilog中阻塞的理解与例子
下面给出一个基于阻塞赋值和非阻塞赋值的多级触发器级联实例,要求将输入数据延迟 3 个时钟周期再输出,并给出对应的 RTL 级结构图和仿真结果。 (1)基于 D触发器的阻塞赋值语句代码如下: module pipeb1 (q3, d, clk); output [7:0] q3; input [7:0] d;
2012-10-05 16:21:48
1770
原创 verilog中的task用法
任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的。调用某个任务时可能需要它处理某些数据并返回操作结果,所以任务应当有接收数据的输入端和返回数据的输出端。另外,任务可以彼此调用,而且任务内还可以调用函数。 1.任务定义 任务定义的形式如下: tas
2012-09-29 11:05:09
106024
6
原创 verilog中的while的用法和例子
while 循环语句实现的是一种“条件循环” ,只有在指定的循环条件为真时才会重复执行循环体,如果表达式条件在开始不为真(包括假、x 以及 z) ,那么过程语句将永远不会被执行。while 循环的语法为: while (循环执行条件表达式) begin 语句块 end 在上述格式中, “循环执行条件表达式”代表了循环体得到继续重复执行时必须满足的条件,通常是一个
2012-09-29 09:39:08
48270
原创 verilog中的repeat的用法和例子
repeat 循环语句执行指定循环数,如果循环计数表达式的值不确定,即为 x 或z 时,那么循环次数按 0 处理。repeat 循环语句的语法为 repeat(循环次数表达式) begin 语句块; end 其中, “循环次数表达式”用于指定循环次数,可以是一个整数、变量或者数值表达式。如果是变量或者数值表达式,其数值只在第一次循环时得到计算,从而得以事先确定循环次
2012-09-29 09:15:20
83539
7
原创 原码,补码,反码的概括
在二进制数最高位前增加一位符号位,正数的符号位为0,负数的符号位为1,其余各位表述的数的绝对值如: A=+10010;B=-10010,其原码表示法记为 [+10010]原=010010;[-10010]原=110010。补码的表示法一个正数的补码与这个正数的原码相同,如一个二进制正数 A=+10110的原码 [A]原=[+10110]原=010110,[A]补=[+10110]补
2012-09-28 09:16:51
2735
原创 fpga中从有符号数、无符号数衍生
在设计中,所有的算数运算符都是按照无符号数进行的。如果要完成有符号数计算,对于加、减操作通过补码处理即可用无符号加法完成。对于乘法操作,无符号数直接采用“*”运算符,有符号数运算可通过定义输出为 signed 来处理。通过“*”运算符完成有符号数的乘法运算。module ceshi (out, clk, a, b); output [15:0] out; input
2012-09-26 09:33:49
5960
原创 基于fpga设计9/7小波变换的解交织过程详解
fpga小波变换的流程是期中最后一部是解交织。解交织的目的是把图片数据分离出来,按照以下的方式分部: 因为在编程序时候,就得把读取数据的顺序改变。设经过列变换后的数据为只m,n),即数据的行地址为m,列地址为n,那么当m,n都为偶数时
2012-09-05 10:44:44
2724
1
原创 基于fpga设计9/7小波变换原理
9/7小波变换包括行变换,列变换。期中行变换包括第一步行变换,第一步行更新,第二步行变换,第二步行更新列变换包括第一步列变换,第一步列更新,第二步列变换,第二步列更新 期中第二步行更新后要进行列变换,在这里要进行串行转并行。最后解交织部分是把低频信息放在一起,高频信息放在一起。
2012-08-25 09:00:23
2133
转载 Verilog HDL运算符
一、逻辑运算符:&&:逻辑与; ||:逻辑或; !:逻辑非。二、关系运算符:==:逻辑相等; !=:逻辑不等; ===:全等; !==:不全等。"==="和"!=="可以比较含有x和z的操作数,在模块的功能仿真中有着广泛的应用。三、位运算符:~:非; &:与; |:或; ^:异或; ^~:同或。四、拼接运算符: {s1, s2,
2012-08-24 19:57:32
1727
转载 signed与unsigned的问题
以前知道有signed与unsigned的区别,但是很少有真正地碰到过,所以没有什么真正地了解。这次在coding的时候终于碰到,写下来以后好看。错误的:module abs(clk,a,b,c); input clk; input [7:0] a; input [7:0] b; output reg
2012-08-24 19:48:04
6344
转载 应届毕业生找工作的忠告
(1) 人是为事业而活,不是为工作而活。人一生中会换很多工作,不必要把找工作看得太重要。工作是外在的,是随季节换装的衣服,事业才是人生的支柱,理想才是人生的价值。在忙忙碌碌找工作的过程中不要失去了自我。有时间停下来,好好问问自己,我这一生想做什么,想怎么度过。人的一生要过有原则的生活,要在不断的自我完善中找到快乐。(2) 人生是马拉松。笑到最后的才是胜利者。不要期望在刚毕业的时候就找到最好
2012-08-24 19:41:18
1198
原创 基于verilog的抢答器
功能说明:1, 用了3个输入代表抢答按钮,如果想设置更过直接更改;2, 初始时倒计时为10s;3, 如果倒计时为10s没人抢答,按下复位键,重新开始抢答;4, 在倒计时10s内有人抢答,则倒计时停止减一;5, 序号显示的是第一个抢答的人对应的序号,其他人抢答无效;6, 按下复位键,重新开始抢答。代码如下:`timescale 1ns/1ps///////////
2012-08-24 16:30:10
13781
3
原创 基于verilog的交通灯
状态说明:1, 初始化 东西南北的灯全亮;2, 东西绿灯亮,南北红灯亮 20秒;3, 东西黄灯亮,南北红灯亮 5秒;4, 东西红灯亮,南北绿灯亮 20秒;5, 东西红灯亮,南北黄灯亮 5秒;6, 循环 2,3,4,5,代码如下:`timescale 1ns/1ps/////////////////////////////////////////////////
2012-08-24 11:11:36
15526
原创 关于状态机 一段式 二段式 三段式 (网上资料搜集)
初学FPGA时学的是verilog, 看夏宇闻的书上状态机的例子使用的一段式,当然他没有说明这种写法是一段式,当时觉得挺简单明了.后来用VHDL, 看的一本E文的书上, 状态机的例子是典型的二段式(作者也没说明这是两段式),当时还觉得这种写法挺麻烦的,没有一段式的看起来舒服, 当时还没有切身的体会两种的区别以及一段式的劣处.后来在一段式状态机上吃了亏, 才想到去重新思考和认识状态机,才知道了一
2012-08-23 19:26:39
7894
原创 基于fpga的vga图片显示
在进行VGA显示图片之前先得了解VGA的时序。VGA时序很简单,就是行扫描和列扫描。在这里就不讲其时序了。1 设计思路:先把一幅图片的数据通过软件 BmpToMif.exe 提前出来。如图所示:上面是提取数据的设置。因为我用的是21EDA开发板,板子上配的是r ,g, b三色,所以在提前数据是三位。显示器上显示的图片和实际对比的图片:图上可以看出基本上是一致的
2012-07-25 16:45:17
21340
1
原创 简化的RISC CPU设计简介及代码下载
什么是CPU?CPU 即中央处理单元的英文缩写,它是计算机的核心部件。计算机进行信息处理可分为两个步骤: 1) 将数据和程序(即指令序列)输入到计算机的存储器中。 2) 从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能: a)取指令:当程序已在存储器中
2012-07-24 16:00:08
2389
原创 quartues 12.0全部文件和破解文件的下载地址
之前的quartues 12.0版本在上一篇文章12.0_178_dsp_builder_windows.exehttp://115.com/file/e790iidd#12.0-178-dsp...r-windows.exe类型下载12.0_178_devices_cyclone_max_legacy_windows.exehttp://115.com/fil
2012-07-08 16:36:25
6646
1
原创 基于DSP的GPGGA定位数据提取的代码
基于DSP的GPGGA定位数据提取的代码已经通过了测试。由于分了好多模块,但在网上下载就有其他的模块,在此我贴出来已经改好的GPGGA的main函数代码,其他的代码不变,可以在网上下载,百度里搜 基于DSP的GPGGA定位数据提取 就能找到,main函数换以下代码就能得到你想要的功能。该代码的功能能使液晶移动并且翻页。main函数代码:#include #incl
2012-06-28 01:07:47
1866
转载 直接数字式频率合成器(DDS)
第一次在优快云博客发帖,可能做的不好,不到位,如果那里有错,请联系 QQ 14730497首先申明自己是新手,学fpga也快一年了,但感觉没怎么学到,弱爆了。。发帖主要是给那些需要的人帮助,呵呵。。直接数字频率综合技术,即DDS技术,是一种新型的频率合成技术和信号产生方法。其电路系统具有较高的频率分辨率,可以实现快速的频率切换,并且在改变时能够保持相位的连续,很容易实现频率、相位和幅
2012-06-25 21:24:50
7175
基于fpga的抢答器(verilog)
2012-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人