如何设计一个针对中国企业500强中中国铁建的高效网站开发实训报告?

摘要:网站开发实训设计报告,中国企业500强中国铁建,佛山企业网页制作电话,网站建设优化服务精英文章目录 第一讲第二讲第三讲第四讲 第一讲 1、testbench 没有端口,所以没括号 2、testbench 输入端
网站开发实训设计报告,中国企业500强中国铁建,佛山企业网页制作电话,网站建设优化服务精英文章目录 第一讲第二讲第三讲第四讲 第一讲 1、testbench 没有端口#xff0c;所以没括号 2、testbench 输入端 之后要变动 所以定义为reg 3、#10 #xff1a;过10个时间单位 #xff1b;’timescale 1ns/10ps 即 1ns 的时间单位 10ps的时间精度 4、reg 型变量赋值的时候 用… 文章目录 第一讲第二讲第三讲第四讲 第一讲 1、testbench 没有端口所以没括号 2、testbench 输入端 之后要变动 所以定义为reg 3、#10 过10个时间单位 ’timescale 1ns/10ps 即 1ns 的时间单位 10ps的时间精度 4、reg 型变量赋值的时候 用带箭头的等号“”, 第二讲 1、always(a or b or sel) 中的a, b, c是敏感变量输入。有几个输入写几个输入 2、在always 里面赋值饿变量需要是reg型。 3、$stop 系统任务 4、多路选择器 代码 //四选一逻辑 timescale 1ns/1ps module fn_sw_4(a,b,sel,y); input a; input b; input[1:0] sel; output y;reg y; always(a or b or sel)begincase(sel)2b00:begin y ab;end2b01:begin y a|b;end2b10:begin y a^b;end2b11:begin y ~(a^b);endendcase endendmodule//-------testbench of fn_sw_4---------- module fn_sw_4_tb; reg[3:0] absel; fn_sw_4 fn_sw_4(.a(absel[0]),.b(absel[1]),.sel(absel[3:2]),.y(y));initial beginabsel0; //先赋初始值#200 $stop; endalways #10 abselabsel1; //每过10ns,absel加一,这样经过16次加一可以取完四位寄存器所有可能并观察y的取值 endmodule仿真结果 小结 第三讲 1、补码转换 代码 //补码转换逻辑 timescale 1ns/10ps module comp_conv(a,a_comp);input[7:0] a; output[7:0] a_comp;wire[6:0] b;//按位取反的幅度位 wire[7:0] y;//负数的补码assign b~a[6:0]; assign y[6:0]b1;//按位取反1 assign y[7]a[7];//符号位不变assign a_compa[7]1?y:a;//二选一 //assign a_compa[7]?{a[7],~a[6:0]1}:a;//可替换上面的wire和assign语句 endmodule //----------testbench of comp_conv-------- module comp_conv_tb; reg[7:0] a_in; wire[7:0] y_out; comp_conv comp_conv(.a(a_in),.a_comp(y_out)); initial begin a_in0;#3000 $stop; endalways#10 a_ina_in1; endmodule2、7段数码管译码器 代码 //七段码译码器 timescale 1ns/10ps module seg_dec(num,a_g); input[3:0] num; output[6:0] a_g;//a_g--{a,b,c,d,e,f,g}reg[6:0] a_g; always(num)begincase(num)4d0: a_g7b111_1110; 4d1: a_g7b011_0000; 4d2: a_g7b110_1101; 4d3: a_g7b111_1100; 4d4: a_g7b011_0011; 4d5: a_g7b101_1011; 4d6: a_g7b101_1111; 4d7: a_g7b111_0000; 4d8: a_g7b111_1111; 4d9: a_g7b111_1011; default: a_g7b000_0001; //中杠endcaseendendmodule//--------test bench of seg_dec--------- module seg_dec_tb; reg[3:0] num_in; wire[6:0] a_g_out; seg_dec seg_dec(.num(num_in),.a_g(a_g_out)); initial begin num_in0;#100 $stop; end always #10 num_innum_in1; endmodule如图输入3应该是111_1110,根据波形图是正确的。 小结 第四讲 1、计数器 代码 //计数器 timescale 1ns/10ps module counter(clk,res,y); input clk; input res; output[7:0] y;reg[7:0] y; wire[7:0] sum;//1运算的结果 assign sumy1;//组合逻辑部分always(posedge clk or negedge res) if(~res) beginy0; end else beginysum; end endmodule//--------testbench of counter------ module counter_tb; reg clk,res; wire[7:0] y;counter counter(.clk(clk),.res(res),.y(y));initial beginclk0;res0;#17 res1;#6000 $stop; endalways #5 clk~clk;endmodule仿真结果