- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * 如果用assign语句描述时序电路,需要在门级描述层次上描述。 如果复位信号下降沿到来,则激活过程块,且直接清零。 如果时钟上升沿到来,则激活过程块,此时如果复位信号不为零,则执行下面的语句,如果使能信号有效,则Q=D,否则保持;如果RST为0,则Q仍保持为0; * Begin end类似C语言中的大括号。 思考问题:在仿真时,begin和end之间的语句执行顺序如何? * 所谓执行是指仿真时 这是对阻塞和非阻塞的基本理解,全面的理解是: 阻塞赋值:过程块激活后,按从上到下顺序进行计算赋值,一条不结束不会执行下一条; 非阻塞赋值:过程块激活后,保存旧值,按从上到下顺序进行计算,但不进行赋值,需要等到整个always语句结束时再进行赋值(按从上到下顺序) * 所谓执行是指仿真时 这是对阻塞和非阻塞的基本理解,全面的理解是: 阻塞赋值:过程块激活后,按从上到下顺序进行计算赋值,一条不结束不会执行下一条; 非阻塞赋值:过程块激活后,保存旧值,按从上到下顺序进行计算,但不进行赋值,需要等到整个always语句结束时再进行赋值(按从上到下顺序) * 例a*b原值为4,m=4,某时刻a*b变为6,则阻塞赋值结果y=6;非阻塞赋值结果y=4。 * 这一部分举第8章例子最好,以便学生使用教材。例8-3~例8-7。 * * 综合举例 采用顺序法,需要知道底层模块的端口信号列表顺序,从底层模块的模块说明部分可得知。 * * 关于基本逻辑门,详见第5章,自学。 四个端口信号中 A、B必须是net型的; SO、CO可以是net型的也可以是variable型的,决定于如何对其赋值 例: h_adder 第四十四页,编辑于星期二:二十点 五十八分。 例: c决定于如何对其赋值; d如果是端口信号,则必须是net型的;如果来自其它驱动源则决定于如何对其赋值。 e、f、g、h必须是net型的; a b c d e f g h h_adder h_adder h_adder U1(a,b,c,d); h_adder U2(c,d,e,f); 第四十五页,编辑于星期二:二十点 五十八分。 * 例: 2’b00 5’d8 无符号数的表示方法: 有符号数的表示方法: 位宽’sb数字 例: 8’s 8’ 注意有符号数是按照补码表示的,即第一位是符号位。 6. Verilog中数字的表示格式 比较: 位宽’进制数字 (00)2 (01000)2 (-69)10 (187)10 第四十六页,编辑于星期二:二十点 五十八分。 * 7. 逻辑值 1:逻辑1,高电平,数字1 0:逻辑0,低电平,数字0 x:不确定 z:高阻态 Verilog语言中的逻辑值有四种 第四十七页,编辑于星期二:二十点 五十八分。 * 8. if语句 4种类型的if语句 if (条件表达式) 语句 ; if (条件表达式) 真语句 ; else 假语句 ; if (条件表达式1) 语句1 ; else if (条件表达式2)语句2 ; else if (条件表达式3)语句3 ; ① ② ③ 计算条件表达式, 如果结果为真(1或非0值),则执行真语句, 如果条件为假(0或x),则执行假语句。 if (条件表达式1)语句1 ; else if (条件表达式2)语句2 ; else if (条件表达式3)语句3 ; else 默认语句 ; ④ 显然③、④种可比①、②种描述更复杂的条件关系。 可以是一条语句,也可以是一组语句 第四十八页,编辑于星期二:二十点 五十八分。 * 8. if语句 例:计数器 always @(posedge CLK) if (!RST) Q=0; else Q=Q+1; 第四十九页,编辑于星期二:二十点 五十八分。 8. if语句 加else always @(a,b) if (sel) Q=a; else Q=b; always @(a,b) Q=a; if (sel) Q=b; 使条件完整的两种方法: 2.设初值 在用if语句设计“组合电路”时要注意,如果条件不完整,会综合出寄存器。 第五十页,编辑于星期二:二十点 五十八分。 * 8. if语句 计算表达式可以是任意形式的表达式; 条件表达式的结果只有0和1两种,如果计算表达式的值为0,则条件表达式的值为0,否则为1。 例如:设a=1000, b=0110 条件表达式 计算表达式 结果 if (a==b) 0 0 if (ab) 1 1 if (a) 1000 1 if (a*b) 11_0000(前两位被截掉) 0 if (a|b) 1110 1 if (ab) 0000 0 (计算表达式) 条件表达
文档评论(0)