在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2131|回复: 0

[原创] verilog与VHDL

[复制链接]
发表于 2015-8-26 21:18:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
       相信大家对大学学过的一门课程《EDA》还有点印象,那时候教书的叫靳丽,一个怀有身孕的女老师。当然今天要写的与她无关,只是简单提提,不过话说回来,大学那会对这门课程真的一点也不感冒,当时也就是在考试的时候突击突击,考完后就更没碰过书皮。       毕业工作后,机缘巧合下我竟成了靠这技术吃饭的人,EDA,即电子设计自动化(Electronic Design Automation),主要是针对硬件方面,通过软件编译设计来实现硬件的功能。有自己的所属语言,verilog和Vhdl。其中VHDL正是大学书本上所提到的硬件语言。至于verilog便是在工作中接触到的。两门语言大同小异。虽然在描述同一个器件时有不同的描述方法。但归结起来两门语言的构架是极其相似的。这篇结合我自己的经验来说说它们的那些事儿。
        先说说VHDL,VHDL结构简单来说分为实体ENTITY和ARCHITECTURE结构体。ENTITY用来定义PORT,即用来和外部器件直接相连的端口。端口类型分为IN、OUT、INOUT,这三种常用,不常用的就先暂且不提了。ENTITY也可以定义generic,用来方便开发人员及时更改参数时使用。ARCHITECTURE则是用来描述定义实体的行为结构,在里面可以定义signal、constant等。具体描述行为时有还需要添加一些关键词。比如在描述时序逻辑时就要先写process等。但如果描述组合逻辑,则直接写语句即可。
       verilog呢,说实话我个人平时用的也不多,只是在写testbench时使用。与VDHL相似,verilog也有模块的概念,但整体上只有一个模块module。在里面首先可以定义端口,目前多用INPUT和OUTPUT。另外定义信号,可以定义为reg型,也可定义为wire型,reg型可以赋值可用于时序逻辑,也可用于组合逻辑。wire型不能被赋值,从综合的角度来说,HDL语言面对的是综合器(如DC等),要从电路的角度来考虑。
这时:
1
wire型的变量综合出来一般是一根导线;
2
reg变量在always块中有两种情况:
(1)
always后的敏感表中是(a or b or c)形式的,也就是不带时钟边沿的,综合出来还是组合逻辑
(2)
always后的敏感表中是(posedge clk)形式的,也就是带边沿的,综合出来一般是时序逻辑,会包含触发器(FlipFlop

在VHDL中,std_logic_vector和std_logic即矢量可以用""和''加数字来表示,但在verilog中,最好用数字'进制数值来表示。
     大晚上的码文字真累,先写到这,以后有新的领悟后会进行修改添加,先到这,睡觉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 13:04 , Processed in 0.026217 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表