最近是彻底变成代码民工了。看不到头的C++(C++培训)编程和不知何时能完成的Verilog Parser。以下是这一段时间里获得的新认识,按脑袋开窍的前后顺序排序(也就是没顺序): 1. Bison和Flex。数年前就知道,但从来没有静下心来学。现在是硬头皮用上了。Bison是语法检测和语义解释....
分类:
编程语言 时间:
2014-10-23 08:06:04
阅读次数:
227
Verilog所写的工程是由一个一个的模块连接起来的,每个文件代表一个模块,模块的名字和文件名要保持一致,一个模块的基本声明方法为://FileName:main_module
modulemain_module(
CLK,RSTn,IO_In,IO_Out
);
inputCLK;
inputRSTn;
inputIO_In;
outputIO_Out;
endmodule对于顶层..
分类:
其他好文 时间:
2014-10-16 04:54:12
阅读次数:
160
函数的功能和任务的功能类似,但二者还存在很大的不同。在 Verilog HDL 语法中也存在函数的定义和调用。1.函数的定义函数通过关键词 function 和 endfunction 定义,不允许输出端口声明(包括输出和双向端口) ,但可以有多个输入端口。函数定义的语法如下:function [r...
分类:
其他好文 时间:
2014-10-11 16:36:05
阅读次数:
217
任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的。调用某个任务时可能需要它处理某些数据并返回操作结果,所以任务应当有接收数据的输入端和返回数据的输出端。另外,任务可以彼此调...
分类:
其他好文 时间:
2014-10-11 15:10:25
阅读次数:
245
1、使用非基数表示的十进制视为有符号数。使用基数表示的十进制被视为无符号数。2、线网中的值被解释为无符号数,整型寄存器中的值被解释为有符号的二进制补码数,。3、如果选择表达式的值为 x、z,或越界,则位选择的值为 x。例如S t a t e [x]值为x。4、不允许对存储器变量值部分选择或位选择。如...
分类:
其他好文 时间:
2014-10-11 13:28:45
阅读次数:
176
在一些单元模块仿真时,往往需要构建一定格式的数据激励,如某个处理TCP报文的单元模块,需要构建符合TCP报文格式的激励。基于verilog的激励生成,大致有两种方法:txt文件法。将符合需求的数据记录于txt,仿真时调用。直接合成法。利用verilog在tb中直接合成激励。这两种方法的优点是直观,但...
分类:
其他好文 时间:
2014-10-09 23:18:58
阅读次数:
383
对于异步FIFO,最主要的两个方面是地址控制和空、满标志位的产生。首先地址控制分别为读地址和写地址,每次读写时能读写地址应该加1.计数次数为ram深度的2倍,当读写地址相等时则空标志位有效,当读写地址最高位互补其余位相等时则满标志位有效。存储部分采用双口RAM实现。
下面是具体的Verilog代码:
module afifo(r_clk,w_clk,rst_n,data_in,data...
分类:
其他好文 时间:
2014-10-06 12:48:20
阅读次数:
236
姓名:黄可嵩年龄:20星座:摩羯座学院:北京航空航天大学计算机学院专业能力:熟练掌握c语言、java语言、verilog语言,较为了解c#语言并有实战经验,c++了解但未实战,了解javascript、html、jsp等相关技术,参与实验室的项目研究。对操作系统有一定的了解,略懂unix环境编程。热...
分类:
其他好文 时间:
2014-09-25 00:56:57
阅读次数:
335
1、$fwrite 向文件写入数据格式:$fwrite(fid,"%h%h\n",dout_r1,dout_r2);(1)fwrite是需要触发条件的,在一次触发条件之后也不会自动发生换行,所以要求手动添加换行。(2)如果写放文件的格式为%d,则认为是无符号数,如下例:wire [27:...
分类:
其他好文 时间:
2014-09-22 21:03:33
阅读次数:
199
为了确保能够正确运行,请确保你现在程序版本为 ????????Qucs 0.0.18 ? ?其实将verilog程序放入qucs并不是一件复杂的事情,qucs已经足够简化我们的工作,我们只需要将模块的源代码复制到当前qucs的工...
分类:
其他好文 时间:
2014-09-22 15:10:33
阅读次数:
455