Verilog_HDL的基本语法详解(夏宇闻版):Verilog HDL是一种用于数字逻辑电路设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。Verilog HDL既是一种行为描述的语言也是一种结构描述的语言。这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种: 系统级(system):用高级语言结构实现设计模块的外部性能的模型。 算法级(algorithm):用高级语言结构实现设计算法的模型。 RTL级(Register Transfer Level):描述数据在寄存器之间流动和如何处理这些数据的模型。 门级(gate-level):描述逻辑门以及逻辑门之间的连接的模型。 开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。 一个复杂电路系统的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 Verilog HDL行为描述语言作为一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型设计。这种行为描述语言具有以下功能: · 可描述顺序执行或并行执行的程序结构。 · 用延迟表达式或事件表达式来明确地控制过程的启动时间。 · 通过命名的事件来触发其它过程里的激活行为或停止行为。 · 提供了条件、if-else、case、循环程序结构。 · 提供了可带参数且非零延续时间的任务(task)程序结构。 · 提供了可定义新的操作符的函数结构(function)。 · 提供了用于建立表达式的算术运算符、逻辑运算符、位运算符。 · Verilog HDL语言作为一种结构化的语言也非常适合于门级和开关级的模型设计。因其结构化的特点又使它具有以下功能: - 提供了完整的一套组合型原语(primitive); - 提供了双向通路和电阻器件的原语; - 可建立MOS器件的电荷分享和电荷衰减动态模型。 Verilog HDL的构造性语句可以精确地建立信号的模型。这是因为在Verilog HDL中,提供了延迟和输出强度的原语来建立精确程度很高的信号模型。信号值可以有不同的的强度,可以通过设定宽范围的模糊值来降低不确定条件的影响。 Verilog HDL作为一种高级的硬件描述编程语言,有着类似C语言的风格。其中有许多语句如:if语句、case语句等和C语言中的对应语句十分相似。如果读者已经掌握C语言编程的基础,那么学习Verilog HDL并不困难,我们只要对Verilog HDL某些语句的特殊方面着重理解,并加强上机练习就能很好地掌握它,利用它的强大功能来设计复杂的数字逻辑电路。下面我们将对Verilog HDL中的基本语法逐一加以介绍。
标签: Verilog_HDL
上传时间: 2014-12-04
上传用户:cppersonal
针对调制样式在不同环境下的变化,采用了FPGA部分动态可重构的新方法,通过对不同调制样式信号的解调模块的动态加载,来实现了不同环境下针对不同调制样式的解调。这种方式比传统的设计方式具有更高的灵活性、可扩展性,并减低了成本和功耗。该设计方案同时也介绍了FPGA部分动态可重构的概念和特点,可以对其它通信信号处理系统设计提供一定的参考。
上传时间: 2013-10-22
上传用户:liangliang123
PCB板材的分类与参数
上传时间: 2015-01-02
上传用户:远远ssad
赛灵思推出业界首款自动化精细粒度时钟门控解决方案,该解决方案可将 Virtex®-6 和 Spartan®-6 FPGA 设计方案的动态功耗降低高达 30%。赛灵思智能时钟门控优化可自动应用于整个设计,既无需在设计流程中添加更多新的工具或步骤,又不会改变现有逻辑或时钟,从而避免设计修改。此外,在大多数情况下,该解决方案都能保留时序结果。
上传时间: 2015-01-02
上传用户:wutong
感应电机的参数辨识
上传时间: 2013-10-17
上传用户:qilin
IC参数
上传时间: 2015-01-02
上传用户:digacha
工程资源管理器 如何创建和使用 LabVIEW 中的 LLB 文件 如何使用 VI 的重入属性(Reentrant) 用户自定义控件中 Control, Type Def. 和 Strict Type Def. 的区别 调整控件和函数面板的首选项 在文件夹下直接创建新的 VI 图标编辑器上的鼠标双击技巧 第二章:简单程序结构 顺序结构 选择结构 事件结构 循环结构 定时结构 缓存重用结构 LabVIEW 中的泛型容器 第三章:控件、常量和运算 LabVIEW 中的数字型数据 1 - 控件和常量 LabVIEW 中的数字型数据 2 - 运算 LabVIEW 中的数字型数据 3 - 数值的单位 第四章:常用的程序结构 几种简单的测试程序流程模型 用 LabVIEW 编写 Wizard 类型的应用程序 1 (LabVIEW 6.1 之前) 用 LabVIEW 编写 Wizard 类型的应用程序 2 (LabVIEW 6.1 ~ 7.1) 用 LabVIEW 编写 Wizard 类型的应用程序 3 (LabVIEW 8.0) 用 LabVIEW 编写 Wizard 类型的应用程序 4 (LabVIEW 8.2 之后) 在 LabVIEW 中使用常量定义 多态 VI 全局变量 传引用 第五章:调试 LabVIEW 的调试环境 断点和探针 其它常用调试工具和方法 LabVIEW 代码中常见的错误 查看一段代码的运行时间 如何调试 LabVIEW 调用的 DLL 第六章:深入理解 LabVIEW G 语言 LabVIEW 是编译型语言还是解释型语言 数据流驱动的编程语言 传值和传引用 VI 中的数据空间 第七章:编写优美的代码 用户界面设计 1 用户界面设计 2 - 界面的一致性 用户界面设计 3 - 界面元素的关联 用户界面设计 4 - 帮助和反馈信息 Caption 和 Label 的书写规范 隐藏程序框图上的大个 Cluster 制作不规则图形的子VI图标 第八章:编写高效率的代码 LabVIEW 程序的内存优化 1 LabVIEW 程序的内存优化 2 - 子 VI 的优化 LabVIEW 程序中的线程 1 - LabVIEW 是自动多线程语言 LabVIEW 程序中的线程 2 - LabVIEW 的执行系统 LabVIEW 程序中的线程 3 - 线程的优先级 LabVIEW 程序中的线程 4 - 动态连接库函数的线程 LabVIEW 的运行效率 1 - 找到程序运行速度的瓶颈 LabVIEW 的运行效率 2 - 程序慢在哪里 LabVIEW 对多核 CPU 的支持 第九章:VI 服务 VI Server (VI 服务) 后台任务 在 LabVIEW 中实现 VI 的递归调用 VB script 打开一个VI 第十章:调用动态链接库 动态链接库导入工具 CLN 的配置选项 简单数据类型参数的设置 结构型参数的设置 作为函数返回值的字符串为什么不用在 VI 中先分配内存 LabVIEW 中对 C 语言指针的处理 调试 LabVIEW 调用的 DLL 第十一章:面向对象编程(LVOOP) 利用 LabVIEW 工程库实现面向对象编程 模块接口 API 的两种设计方案 LabVIEW 对面向对象的支持 面向对象与数据流驱动的结合 LabVIEW 中的类 第十二章:XControl 一个 XControl 的实例 用 XControl 实现面向组件的编程 第十三章:项目管理
标签: LabVIEW
上传时间: 2013-11-01
上传用户:ruixue198909
以LM3S1138芯片作为控制核心,设计了一个晶体管参数测试系统。该系统主要功能模块包括:恒流源阶梯信号、电压扫描信号、升压电路、保护电路等。利用8位D/A转换器产生稳定的控制电压,通过集成在LM3S1138芯片中的10位A/D模块完成电压的测量。通过RS232接口将测量数据传送到PC机,利用Matlab软件实现对测量数据的处理和显示。测试结果表明:该晶体管参数测试仪工作良好,测量结果都在数据手册给的参数范围之内。
上传时间: 2013-10-23
上传用户:ZOULIN58
基于单摄像机成像的电力设施侵入目标的参数计算,首先采用成本较低的单摄像机单目视觉系统,对摄像机监控范围内的空间进行三维建模,便于对其监控范围内的各种物体进行距离测算与三维尺寸测算;接着依据立体视觉系统,对采用最新的模式识别技术识别出的入侵物的大小和距离进行计算,判断威胁程度。文中提出的基于单摄像机成像的电力设施侵入目标的参数计算方法,可以更为准确地判断入侵物大小和位置,从而可靠地判断威胁程度,降低误报和漏报,在输电设施的监控方面有广大的应用前景。
上传时间: 2013-11-02
上传用户:chens000
提出了一个考虑FP 效应的半导体材料参数测量方案。利用该方案可以在时域波形中,截取多个反射回峰,以提高材料参数提取的精确度。另外,考虑到多重反射对样品厚度的准确性要求较高,提出了一种有效的厚度优化方法。以GaAs 为待测样品,利用上述方法精确提取了其折射率与消光系数谱.
上传时间: 2013-12-16
上传用户:alan-ee