verilog hdl 语法
a14730497
这个作者很懒,什么都没留下…
展开
-
Verilog HDL运算符
一、逻辑运算符:&&:逻辑与; ||:逻辑或; !:逻辑非。二、关系运算符:==:逻辑相等; !=:逻辑不等; ===:全等; !==:不全等。"==="和"!=="可以比较含有x和z的操作数,在模块的功能仿真中有着广泛的应用。三、位运算符:~:非; &:与; |:或; ^:异或; ^~:同或。四、拼接运算符: {s1, s2,转载 2012-08-24 19:57:32 · 1677 阅读 · 0 评论 -
verilog中inout的定义问题
最近在调试一个东西,用到了双向IO口,inout。在我的记忆中,inout得用wire型定义,网上很多人也说要定义为wire 型。但由于设计中的任务,我有意把 inout定义为 reg型。Quartus II 编译没问题,只不过modelsim仿真不行,编译通不过。但问题所在是,下到板子中时,板子能跑通。后来我常规的把 inout 定义为 wire型,Quartus 和modelsim 仿原创 2014-01-20 20:27:19 · 8949 阅读 · 1 评论 -
Verilog中计数器的2中写法对比
功能是,计数记到24,清零,重新计数….第一种写法:module count_debug ( clk, rst_n, dout原创 2014-01-17 23:12:09 · 4933 阅读 · 0 评论 -
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 · 3602 阅读 · 0 评论 -
基于verilog的伪随机码
今天上移动通信的课,老师讲到了扩频原理中的伪随机码,在此就想到了fpga中肯定也要用到随机码,所以就编了代码。原理图如下: 代码如下 `timescale 1ns/1psmodule suiji ( clk, dout );input clk原创 2012-10-23 14:35:35 · 6461 阅读 · 3 评论 -
fpga中从有符号数、无符号数衍生
在设计中,所有的算数运算符都是按照无符号数进行的。如果要完成有符号数计算,对于加、减操作通过补码处理即可用无符号加法完成。对于乘法操作,无符号数直接采用“*”运算符,有符号数运算可通过定义输出为 signed 来处理。通过“*”运算符完成有符号数的乘法运算。module ceshi (out, clk, a, b); output [15:0] out; input原创 2012-09-26 09:33:49 · 5908 阅读 · 0 评论 -
verilog中的while的用法和例子
while 循环语句实现的是一种“条件循环” ,只有在指定的循环条件为真时才会重复执行循环体,如果表达式条件在开始不为真(包括假、x 以及 z) ,那么过程语句将永远不会被执行。while 循环的语法为: while (循环执行条件表达式) begin 语句块 end 在上述格式中, “循环执行条件表达式”代表了循环体得到继续重复执行时必须满足的条件,通常是一个原创 2012-09-29 09:39:08 · 47635 阅读 · 0 评论 -
verilog中的task用法
任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的。调用某个任务时可能需要它处理某些数据并返回操作结果,所以任务应当有接收数据的输入端和返回数据的输出端。另外,任务可以彼此调用,而且任务内还可以调用函数。 1.任务定义 任务定义的形式如下: tas原创 2012-09-29 11:05:09 · 105674 阅读 · 8 评论 -
verilog中的repeat的用法和例子
repeat 循环语句执行指定循环数,如果循环计数表达式的值不确定,即为 x 或z 时,那么循环次数按 0 处理。repeat 循环语句的语法为 repeat(循环次数表达式) begin 语句块; end 其中, “循环次数表达式”用于指定循环次数,可以是一个整数、变量或者数值表达式。如果是变量或者数值表达式,其数值只在第一次循环时得到计算,从而得以事先确定循环次原创 2012-09-29 09:15:20 · 83097 阅读 · 7 评论 -
原码,补码,反码的概括
在二进制数最高位前增加一位符号位,正数的符号位为0,负数的符号位为1,其余各位表述的数的绝对值如: A=+10010;B=-10010,其原码表示法记为 [+10010]原=010010;[-10010]原=110010。补码的表示法一个正数的补码与这个正数的原码相同,如一个二进制正数 A=+10110的原码 [A]原=[+10110]原=010110,[A]补=[+10110]补原创 2012-09-28 09:16:51 · 2472 阅读 · 0 评论 -
关于 一元约简运算符 非运算
关于 一元约简运算符 非运算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 · 1524 阅读 · 0 评论