Verilog HDL那些事儿

第一章:我眼中的 FPGA 和 Verilog HDL

1、"在笔者的心里,FPGA 宛如 “一堆乐高积木”和 Verilog HDL 是自己的手(工具) ,自己可以随心所愿的要怎么拆就怎么拆。"

第二章:低级建模 - 基础知识

1、Verilog HDL 不是“编程”是“建模”。“建模”这一词是指,使用“硬件描述语言”去建立某个资源模块。如果说 c 语言可以使用“编程”一词,那么 Verilog HDL 语言使用“建模”这一词更适合不过了。Verilog HDL 语言是一种富有 “形状” 的语言, “建模” 一词使得 Verilog HDL 语言的更有形象和更有具体感。

2、建模:功能模块、控制模块、组合模块。

3、控制模块来“管理与协调”功能模块,“链接和沟通”功能模块。一个功能模块(控制模块)仅有一个功能。 

功能模块(功能模块--功能模块)--控制模块--功能模块

Verilog HDL那些事儿

时间: 2024-10-06 17:18:13

Verilog HDL那些事儿的相关文章

3_8译码器Verilog HDL语言的简单实现

最近在学Verilog HDL语言,觉得learn in doing是比较好的学习方式,所以我们来直接分析分析代码好了. 先来一波代码: 1 module q_decode_38(data_in,data_out); 2 3 input[2:0] data_in; //端口声明 4 output[7:0] data_out; 5 reg[7:0] data_out; 6 7 always@(data_in) 8 begin 9 case(data_in) 10 3'd0:data_out = 8

基于Verilog HDL整数乘法器设计与仿真验证

基于Verilog HDL整数乘法器设计与仿真验证 1.预备知识 整数分为短整数,中整数,长整数,本文只涉及到短整数.短整数:占用一个字节空间,8位,其中最高位为符号位(最高位为1表示为负数,最高位为0表示为正数),取值范围为-127~127. 负数的表示方法为正值的求反又加1.例如: 8’b0000_0100; //表示值:4,正值求反为:8’b1111_1011:再加1表示为:8’b1111_1100,这样便得到了-4的表示方法为:8’b1111_1100. 同理,负值变成正值的方法为:负值

<转>Verilog HDL宏定义define

宏定义 `define 用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为: `define 标识符(宏名) 字符串(宏内容) 如:`define signal string 它的作用是指定用标识符signal来代替string这个字符串,在编译预处理时,把程序中在该命令以后所有的signal都替换成string.这种方法使用户能以一个简单的名字代替一个长的字符串,也可以用一个有含义的名字来代替没有含义的数字和符号,因此把这个标识符(名字)称为“宏名”,在编译预处理时将宏名替换成字符串

自己动手写处理器之第二阶段(3)——Verilog HDL行为语句

将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第七篇,我尽量每周四篇 2.6 Verilog HDL行为语句 2.6.1 过程语句 Verilog定义的模块一般包括有过程语句,过程语句有两种:initial.always.其中initial常用于仿真中的初始化,其中的语句只执行一次,而always中语句则是不断重复执行的.此外,always过程语句是可综合的,initial过程语句是不可综合的.       1.always过程语句 always过程语句的格式如图2-10所示.

verilog HDL 编码风格

1.有意义且有效的名字. 2.同一信号在不同层次应该保持一致. 3.添加有意义的后缀,使信号的有效性更加明确. 4.模块输出寄存器化,使得输出的驱动强度和输入延时是可以预测的. 5.使用括号表明优先级. 6.每一个if都应该有一个else.如果esle没有任何相应的动作,则用一条空语句.(if..esle可能有优先级) 7.case 语句最好有一个default分支,如果default不要执行动作就使用空语句. 8.在每个 模块的开始做模块级的注释,在模块端口列表中出现的信号做简要的功能描述.

Verilog HDL基础语法讲解之模块代码基本结构

Verilog HDL基础语法讲解之模块代码基本结构 ? 本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的基本结构. 以下为本章中例子中的代码: 01????/*======================================= 02????*????file neme : mux2.v 03????*????author????:????小梅哥 04????*????Verison????:????

MiS603 开发板2.2 Verilog HDL硬件语言基础

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ 2.2 Verilog HDL硬件语言基础 2.2.1 技术背景 大规模集成电路设计制造技术和数字信号处理技术,近三十年来,各自得到了迅

MiS603开发板 2.1 Verilog HDL 代码规范

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ 2.1 Verilog HDL 代码规范 规范的代码风格,可以让程序更容易阅读和维护. u 文档管理 合理的文档管理也是程序代码规范的重

Verilog HDL实现奇数次分频

在数字逻辑电路中,经常需要设计分频电路,本文是通过Verilog HDL实现了奇数次分频. 以下是设计程序源代码: module freq_div( // Input clk_50, rst_n, // Output clk_div2, clk_div5 ); parameter DIVN = 5; input clk_50; // Clockinput rst_n; // Resetoutput clk_div2; // indicates write transferoutput clk_d