Verilog HDL门级建模

⭐本专栏针对FPGA进行入门学习,从数电中常见的逻辑代数讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。
🔥文章和代码已归档至【Github仓库:hardware-tutorial】,需要的朋友们自取。或者关注公-众-号【AIShareLab】,回复 FPGA 也可获取。

基本概念

结构级建模: 就是根据逻辑电路的结构(逻辑图),实例引用Verilog HDL中内置的基本门级元件或者用户定义的元件或其他模块,来描述结构图中的元件以及元件之间的连接关系。

门级建模: Verilog HDL中内置了12个基本门级元件(Primitive,有的翻译为“原语”)模型,引用这些基本门级元件对逻辑图进行描述,也称为门级建模。

基本门级元件(Primitive : 原语)

  • 多输入门:and、nand、or、nor、xor、xnor
    • 只有单个输出, 1个或多个输入
  • 多输出门:not、buf
    • 允许有多个输出, 但只有一个输入
  • 三态门:bufif0、bufif1、notif0、notif1
    • 有一个输出, 一个数据输入和一个控制输入
  • 上拉电阻pullup、下拉电阻pulldown

多输入门

多输入门的一般引用格式为:

Gate_ name  <instance> (OutputA, Input1, Input2,…, InputN);

Gate_ name共6个: and、nand、or、nor、xor、xnor

特点:

  • 只有1个输出,
  • 有多个输入。
原语名称 图形符号 逻辑表达式
and(与门)
image
L = A & B
nand(与非门)
image
L = ~(A & B)
or(或门)
image
L = A | B
nor(或非门)
image
L =~( A | B)
xor(异或门)
image
L = A ^ B
xnor(同或门)
image
L = A ~^ B

基本门的调用方法举例:

image
and    A1(out,in1,in2,in3);
xnor  NX1(out,in1,in2,in3,in4); 

对基本门级元件,调用名A1、NX1可以省略。

若同一个基本门在当前模块中被调用多次,可在一条调用语句中加以说明,中间以逗号相隔。

and、nand真值表

and 输入1 输入1 输入1 输入1
0 1 x z
输入2 0 0 0 0 0
输入2 1 0 1 x x
输入2 x 0 x x x
输入2 z 0 x x x
nand 输入1 输入1 输入1 输入1
0 1 x z
输入2 0 1 1 1 1
输入2 1 1 0 x x
输入2 x 1 x x x
输入2 z 1 x x x

多输出门

允许有多个输出,但只有一个输入。

buf  B1(out1,out2,…,in);
image

buf真值表

image
not  N1(out1,out2,…,in);
image

not真值表

image

三态门

有一个输出、一个数据输入和一个输入控制。如果输入控制信号无效,则三态门的输出为高阻态z。

image

门级建模举例

2选1数据选择器

//Gate-level description
module _2to1muxtri (a,b,sel,out);
   input a,b,sel;
   output out;
   tri out;
   bufif1 (out,b,sel);
   bufif0 (out,a,sel);
 endmodule 
image

小结:门级建模就是列出电路图结构中的元件,并按网表连接 。

1位全加器

module addbit (a, b, ci, sum, co);           
input   a,  b,  ci;                           
output  sum,  co;                         
wire   a, b, ci, sum, co, n1, n2, n3; 
     xor   u0(n1, a, b),               
              u1(sum, n1, ci);            
     and   u2(n2, a, b),                  
              u3(n3, n1, ci);               
     or          (co, n2, n3);            

endmodule
image

若同一个基本门在当前模块中被调用多次,可在一条调用语句中加以说明,中间以逗号相隔。

门级描述小结

  1. 给电路图中的每个输入输出引脚赋以端口名。
  2. 给电路图中每条内部连线 取上各自的连线名。
  3. 给电路图中的每个逻辑元件取一个编号 (即“调用名”)。
  4. 给所要描述的这个电路模块确定一个模块名。
  5. 用module定义相应模块名的结构描述,并将逻辑图中所有的输入输出端口名列入端口名表项中,再完成对各端口的输入输出类型说明。
  6. 依照电路图中的连接关系,确定各单元之间端口信号的连接,完成对电路图内部的结构描述。
  7. 最后用endmodule结束模块描述全过程。

参考文献:

  1. Verilog HDL与FPGA数字系统设计,罗杰,机械工业出版社,2015年04月
  2. Verilog HDL与CPLD/FPGA项目开发教程(第2版), 聂章龙, 机械工业出版社, 2015年12月
  3. Verilog HDL数字设计与综合(第2版), Samir Palnitkar著,夏宇闻等译, 电子工业出版社, 2015年08月
  4. Verilog HDL入门(第3版), J. BHASKER 著 夏宇闻甘伟 译, 北京航空航天大学出版社, 2019年03月

欢迎关注公-众-号【AIShareLab】,一起交流更多相关知识,前沿算法,Paper解读,项目源码,面经总结。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容