verilog初级知识

1.Verilog支持3种基本描述方式:

1.1行为描述方式--过程化结构建模

1.2数据流描述方式--连续赋值语句方式建模

1.3结构化描述方式--使用门和模块实例语句描述建模


2.Verilog提供了3种时序控制方法

2.1基于延时的时序控制

2.2基于事件的时序控制

    事件是指一个寄存器或者线网变量的值发生变化,事件可以用来触发声明语句或者块语句的执行。Verilog提供4种类型的事件控制:

        常规事件控制:@(clk) 、@(posedge clk)、@(negedge clk)、或者q=@(posedge clk) d;

         命名时间控制:event received_data;

                                    always @(posedge clk)     begin

                                        if(last_data_packet)      ->received_data;     //触发接收数据事件

                                    end

                                      always@(received_data)            data_buf={data_pkt[0],data_pkt[1],data_pkt[2],data_pkt[3]};

           or事件控制

           电平敏感时序控制:wait表示电平敏感的条件为真


3.Verilog语言中能参数化设计

    为了提高模块的重复利用,关键就在于避免硬编码(hard literal),使模块参数化。参数化建模的好处是可以使代码清晰,便于后续维护和修改。只需要修改参数,不用修改其他代码就可以适用于不同的环境中。具体的参数化建模方法有 3 种:

3.1‘define宏定义

3.2 parameter、localparam模块参数化

3.3 ’ifdef等条件编译

指导原则:

1宏定义应该只用于定义系统内全局常量;

2 应该把所有的宏定义仿真一个definition.vh文件中;

3 模块内的常量用localparam;

4 在实例化时会改变的参数,使用parameter,以达到模块可配置和可移植;

5 在定义常量时,如果一个常量依赖于其他常量,那么在定义该常量时就直接用表达式表示出来这种关系。

关于上述三种参数化设计的详细备注


4.

    Verilog可以用于生成模拟激励和指定测试的验证约束条件,比如输入的指定。

    两类主要数据类型:线网类型(构件之间的物理连线)、寄存器类型(抽象的数据存储单元)

    udp:用户定义原语,组合逻辑原语或者是时序逻辑原语 。

    开关级门:pmos、nmos

    两个基本逻辑门:and、or、nand

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,487评论 6 13
  • fpga规范 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎...
    Michael_Johnson阅读 2,026评论 1 4
  • 10#数据类型 合并数组和非合并数组 合并数组:存储方式是连续的,中间没有闲置空间。例如,32bit的寄存器,可以...
    constant007阅读 33,625评论 0 18
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • Linux配置IP地址 ifconfig命令临时配置IP地址DHCP服务器:自动分配IP地址的服务器重启计算机和网...
    KevinCool阅读 5,071评论 0 0

友情链接更多精彩内容