Verilog学习 3

门级建模:12个基本门级元件包括:与,或,非,与非,或非,异或,异或非,缓冲器,以及高电平使能三态缓冲器,低电平使能三态缓冲器,高电平使能三态非门,低电平使能三态非门  构成

数据流建模:采用运算操作符完成  +-*/%...

行为级建模:在描述电路的行为,亦或者可以说是在描述电路的输入与输出的关系(always@())

优点:不用去过多的关注底层电路的实现形式,更多的是关注电路的行为

只有在行为级中间(always@())的串行语句块(begin end)中间使用阻塞型赋值语句(=)的时候才是串行的结构

 force - release 一般用于调试,当代码比较多时,有错误,通过force强制拉到正确电平 再延迟释放    看看在这段延迟时间内,后续信号对不对,二分法

verilog中可综合语句:input,output,parameter,reg,wire,always,assign, begin...end,case,for,posedge,negedge,or,and,default,if,function,generate,integer,while,repeat(while、repeat循环可综合时,要具有明确的循环表达式和循环条件,for可综合时也要有具体的循环范围),`define

   不可综合语句:initial,fork...join,wait,time,display,forever。

保证Verilog HDL赋值语句的可综合性,在建模时应注意以下要点:

(1)不能使用initial,initial一般使用在测试程序,做初始化。

(2)不建议使用延时,#1,这种只是模拟数字电路中因为布线产生的信号延时,不可综合,但也不会报错。

(3)不能使用循环次数不确定的函数,但forever在综合设计中禁止使用,只能使用在仿真测试程序中。

(4)尽量使用同步电路设计方式。<=

(5)除非关键电路设计,一般不建议调用门级元件进行设计,一般使用行为级进行设计。

(6)当使用always进行组合逻辑设计时,敏感列表里面的要列出所有输入信号。(*)

(7)在进行时序电路进行编写时,采样非阻塞赋值。组合逻辑设计时,采样阻塞赋值,但是不能在同一个always语句里两种混合使用。

(8)为避免产生锁存器,if,case要进行完整的语句赋值,且case语句中避免使用X值,Z值。

1、任何电路都有真值表,可与case语句联用    

 assign 可以描述所有的组合逻辑电路

 串行语句中:阻塞性赋值语句按顺序执行;非阻塞性语句并列执行

并行语句中二者皆为并列执行 不可综合

在敏感事件列表里没有与(&&)只有或(|| or)的概念

 

 位宽不匹配 可以仿真(对应相应位置,多余位置不匹配)  但在电路中是错的  没有意义

定义参数语句修改参数值

格式:defparam 实例名.参数名n=参数值n; 

门级建模  

 

 

 

 

 关键字都是小写;

单入多出 单出多入的门;输出在前 输入在后        模块名  实例名(out,in);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值