- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * 9.位拼接运算符(concatenation operators) { } 该运算符将两个或多个信号的某些位拼接起来。使用如下: {信号1的某几位,信号2的某几位,……,信号n的某几位} 运算符的优先级 在书写程序时建议用括号()来控制运算的优先级 习 题 5 5.1 下列标识符哪些是合法的,哪些是错误的? Cout, 8sum, \a*b, _data, \wait, initial, $latch 5.2 下列数字的表示是否正确? 6d18, Bx0, 5b0x110, da30, 10d2, hzF 5.3 reg型和wire型变量有什么本质的区别? 5.4 如果wire型变量没有被驱动,其值为多少? 5.5 reg型变量的初始值一般是什么? 习 题 5 5.6 定义如下的变量和常量: (1)定义一个名为count的整数; (2)定义一个名为ABUS的8位wire总线; (3)定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128; (4)定义参数Delay_time, 参数值为8; (5)定义一个名为DELAY的时间变量; (6)定义一个32位的寄存器MYREG; (7)定义一个容量为128,字长为32位的存储器MYMEM; 实验与设计 5-1 RAM存储器设计 实验要求:用Quartus Ⅱ软件的宏功能模块设计RAM存储器,并进行调用。 RAM存储器设计 生成一个新的宏模块 设置输出文件的类型、目录和名字 定制RAM模块的数据宽度和深度 指定RAM模块的初始化数据文件 【例7.46】 用文本方式调用RAM存储器模块 module ram_dy(addr,clk,din,wr,qout); //端口定义 input[6:0] addr; input clk; input[7:0] din; input wr; output[7:0] qout; myram u1(address(addr),.clock(clk),.data(din),.wren(wr),.q(qout)); //元件例化 endmodule ROM(Read Only Memory,只读存储器)是存储器的一种,利用FPGA可以实现ROM的功能,但其不是真正意义上的ROM,因为FPGA器件在掉电后,其内部的所有信息都会丢失,再次工作时需要重新配置。 Quartus II提供的参数化ROM是lpm_rom,下面用一个乘法器的例子来说明它的使用方法,这个例子使用lpm_rom构成一个4位×4位的无符号数乘法器,利用查表方法完成乘法功能。 实验与设计 5-2 用rom模块实现4×4无符号数乘法器 实验要求:基于Quartus Ⅱ,用rom模块采取查表方式实现4×4无符号数乘法器并仿真。 数据线、地址线宽度设置 控制端口设置 添加.mif文件 如下图所示是基于ROM实现的4位×4位的无符号数乘法器电路图,其参数设置为: LPM_WIDTH=8 LPM_WIDTHAD=8 LPM_FILE=mult_rom.mif 仿真结果 * * * * * * * * * * * * * * * * 第5章 Verilog语法与要素 主要内容 5.1 Verilog语言要素 5.2 常量 5.3 数据类型 5.4 参数 5.5 向量 5.6 运算符 5.1 Verilog语言要素 Verilog 程序由符号流构成,符号包括 空白符(White space) 注释(Comments) 操作符(Operators) 数字(Numbers) 字符串(Strings) 标识符(Identifiers) 关键字(Keywords)等 空白符和注释 空白符(White space) 空白符包括:空格、tab、换行和换页。空白符使代码错落有致,阅读起来更方便。在综合时空白符被忽略。 注释(Comment) ◆ 单行注释:以“//”开始到本行结束 ◆ 多行注释:多行注释以“/*”开始,到“*/”结束 标识符(Identifiers) 标识符(Identifiers) Verilog中的标识符可以是任意一组字母、数字以及符号“$”和“_”(下划线)的组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。 Examples: count COUNT //COUNT与count是不同的 _A1_d2 //以下划线开头 R56_68 FIVE 关键字(Keywords) Verilog语言内部已经使用的词称为关键字或保留字,
文档评论(0)