当前位置:主页 > 论文百科 > 大学课程 >

数字逻辑不容小窥,电路门一统江湖

发布时间:2018-06-10 19:34

  本文选题:电子技术 + 半导体集成电路 


 

实际上,HDL语言肯定要比《玩转IP core》或者《IP核芯志》(业界著名的和尚书)这样的讲系统设计的书来的基础。按照从简单到复杂的思想,应该先说说Verilog方为合适。当年老衲也是低估了搞笑的呐喊的先知(jiaoshou)们的毁人不倦,觉得“语言嘛,应该会的了”。结果坊间出现了不少C Style的和尚书的实现,老夫就出离愤怒了:是可忍孰不可忍!实际上私下说,老衲不想涉及教语言也有私心杂念:语言莫过于刻板的规则,讲起来也是单调:讲的不喜欢,听的也不喜欢。看看前面两讲的内容,仅仅就幽默感而言,比起和尚书差远了。但是,没办法啊,与其叫语法党、逻辑派横行,不如老夫的电路门一统江湖。我们接着聊!


数字逻辑的了分为组合电路和时序电路两种。组合电路就是即来即服务,信号来了,理论上结果立即呈现。时序电路呢,则对于员工比较人道:在固定时间工作,其他时间可以歇着。


1. 组合逻辑,线型实现
组合逻辑在Verilog语言体系里面分两类,分别采用wire类型变量和reg类型变量来完成。本讲主要介绍第一类:wire类型变量型组合逻辑描述方法。在下一讲里面,会介绍reg的情况。


提到wire类型变量型组合逻辑描述方法,一个不能会的关键词就是“assign”。它用于对于wire类型变量的赋值。assign赋值的一般形式为:


assign [drive_strength] [delay] net_lvalue = expression;


其中:drive_strength为信号强度,delay为设定时延,net_lvalue 为wire型变量名,expression为表达式;方括号对“[ ]”表示可省略,而且这两个内容与电路逻辑设计无关,在此不详细论述。


例1给出了一个直通模块的完整代码。这段代码没有实际意义,就是输出时时刻刻等于输入的功能。各位听众需要掌握的只是完整模块代码的格式。


【例1】直通模块的完整代码
/***********************************************
Module Name:   Bypass
Feature:       Input bypass to output
Coder:         Garfield
Organization:  XXXX Group, Department of Architecture
------------------------------------------------------
Input ports:   Input_Data, 8 bits
Output Ports:  Output_Data, 8 bits, equales Input_Data
------------------------------------------------------
History:
11-27-2015: First Version by Garfield
11-27_2015: Verified by Garfield with Bypass_test in ISE/Modelsim
***********************************************/

module Bypass
  (
    input[7:0] Input_Data,
    output wire[7:0] Output_Data
  );

//Definition for Variables in the module
//None for this module

//Logical
assign Output_Data =  Input_Data;

endmodule


说明一下,因为这个模块实际上不具有逻辑功能,所以一般综合软件都会在给出警告(Warning)后,,把这个模块优化掉。



本文编号:2004354

资料下载
论文发表

本文链接:https://www.wllwen.com/wenshubaike/dxkc/2004354.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户33393***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com