网站设计样例(网站设计样例图)

发布于:2023-07-15 18:32:57

设计本是国内专业室内装修网站及设计招标服务平台,汇聚了全国百万室内设计师,每日更新大量室内设计效果图、知名室内设计师访谈、优质室内设计案例等

二、如何去为一个购物网站设计测试用例?

测试用例的设计是根据需求文档或者story的基础上,归纳出测试点,然后设计成一个个小小的测试用例。

购物网站

1. 登录模块

一般的测试用例

a. 输入正确的用户名密码,期待结果

b.输入不正确的用户名密码,期待结果

c. 如果用户名不存在,期待结果

d. 密码输入框中,输入的数据要显示成*号

等等

2.搜索模块

输入商品名称后,是否出现正确的商品

3.购物车模块

添加商品到购物车后,商品是否出现在购物 车

购物车可支持添加的最大数量

4.支付模块

选着要购买的商品后,支付总额是否正确

是否减除优惠券等

点击支付后,弹出的支付模块是否正确

确认支付后,是否可以成功的支付

等等吧

具体的还要看测试需求上的要求

三、例化语句的设计步骤?

关键字:例化,generate,全加器,层次访问

在一个模块中引用另一个模块,对其端口进行相关连接,叫做模块例化。模块例化建立了描述的层次。信号端口可以通过位置或名称关联,端口连接也必须遵循一些规则。

命名端口连接

这种方法将需要例化的模块端口与外部信号按照其名字进行连接,端口顺序随意,可以与引用 module 的声明端口顺序不一致,只要保证端口名字与外部信号匹配即可。

下面是例化一次 1bit 全加器的例子:

实例

full_adder1 u_adder0(

.Ai(a[0]),

.Bi(b[0]),

.Ci(c==1'b1 ? 1'b0 : 1'b1),

.So(so_bit0),

.Co(co_temp[0]));

如果某些输出端口并不需要在外部连接,例化时 可以悬空不连接,甚至删除。一般来说,input 端口在例化时不能删除,否则编译报错,output 端口在例化时可以删除。例如:

实例

//output 端口 Co 悬空

full_adder1 u_adder0(

.Ai(a[0]),

.Bi(b[0]),

.Ci(c==1'b1 ? 1'b0 : 1'b1),

.So(so_bit0),

.Co());

//output 端口 Co 删除

full_adder1 u_adder0(

.Ai(a[0]),

.Bi(b[0]),

.Ci(c==1'b1 ? 1'b0 : 1'b1),

.So(so_bit0));

顺序端口连接

这种方法将需要例化的模块端口按照模块声明时端口的顺序与外部信号进行匹配连接,位置要严格保持一致。例如例化一次 1bit 全加器的代码可以改为:

full_adder1 u_adder1(

a[1], b[1], co_temp[0], so_bit1, co_temp[1]);

虽然代码从书写上可能会占用相对较少的空间,但代码可读性降低,也不易于调试。有时候在大型的设计中可能会有很多个端口,端口信号的顺序时不时的可能也会有所改动,此时再利用顺序端口连接进行模块例化,显然是不方便的。所以平时,建议采用命名端口方式对模块进行例化。

端口连接规则

输入端口

模块例化时,从模块外部来讲, input 端口可以连接 wire 或 reg 型变量。这与模块声明是不同的,从模块内部来讲,input 端口必须是 wire 型变量。

输出端口

模块例化时,从模块外部来讲,output 端口必须连接 wire 型变量。这与模块声明是不同的,从模块内部来讲,output 端口可以是 wire 或 reg 型变量。

输入输出端口

模块例化时,从模块外部来讲,inout 端口必须连接 wire 型变量。这与模块声明是相同的。

悬空端口

模块例化时,如果某些信号不需要与外部信号进行连接交互,我们可以将其悬空,即端口例化处保留空白即可,上述例子中有提及。

output 端口正常悬空时,我们甚至可以在例化时将其删除。

input 端口正常悬空时,悬空信号的逻辑功能表现为高阻状态(逻辑值为 z)。但是,例化时一般不能将悬空的 input 端口删除,否则编译会报错,例如:

实例

//下述代码编译会报Warning

full_adder4 u_adder4(

.a(a),

.b(b),

.c(),

.so(so),

.co(co));

实例

//如果模块full_adder4有input端口c,则下述代码编译是会报Error

full_adder4 u_adder4(

.a(a),

.b(b),

.so(so),

.co(co));

一般来说,建议 input 端口不要做悬空处理,无其他外部连接时赋值其常量,例如:

实例

full_adder4 u_adder4(

.a(a),

.b(b),

.c(1'b0),

.so(so),

.co(co));

位宽匹配

当例化端口与连续信号位宽不匹配时,端口会通过无符号数的右对齐或截断方式进行匹配。

假如在模块 full_adder4 中,端口 a 和端口 b 的位宽都为 4bit,则下面代码的例化结果会导致:u_adder4.a = {2'bzz, a[1:0]}, u_adder4.b = b[3:0] 。

实例

full_adder4 u_adder4(

.a(a[1:0]),//input a[3:0]

.b(b[5:0]),//input b[3:0]

.c(1'b0),

.so(so),

.co(co));

端口连续信号类型

连接端口的信号类型可以是,1)标识符,2)位选择,3)部分选择,4)上述类型的合并,5)用于输入端口的表达式。

当然,信号名字可以与端口名字一样,但他们的意义是不一样的,分别代表的是 2 个模块内的信号。

用 generate 进行模块例化

当例化多个相同的模块时,一个一个的手动例化会比较繁琐。用 generate 语句进行多个模块的重复例化,可大大简化程序的编写过程。

重复例化 4 个 1bit 全加器组成一个 4bit 全加器的代码如下:

实例

module full_adder4(

input [3:0] a , //adder1

input [3:0] b , //adder2

inputc , //input carry bit

output [3:0] so , //adding result

outputco //output carry bit

);

wire [3:0] co_temp ;

//第一个例化模块一般格式有所差异,需要单独例化

full_adder1 u_adder0(

.Ai(a[0]),

.Bi(b[0]),

.Ci(c==1'b1 ? 1'b1 : 1'b0),

.So(so[0]),

.Co(co_temp[0]));

genvari ;

generate

for(i=1; i


免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。

上一篇:网站设计具体方案(网站设计具体方案怎么写)

下一篇:网站设计方案模板范文(网站设计方案模板范文大全)

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。