- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品学习资料
名师归纳总结——欢迎下载
电子工程学院ASIC 专业试验
电子工程学院
ASIC 专业试验报告
班级:
姓名:
学号: 班内序号:
第 1 页,共 35 页
精品学习资料
名师归纳总结——欢迎下载
第一部分语言级仿真LAB 1 :简洁的组合规律设计一,试验目的把握基本组合规律电路的实现方法;二,试验原理本试验中描述的是一个可综合的二选一开关,它的功能是当
第一部分
语言级仿真
LAB 1 :简洁的组合规律设计
一,
试验目的
把握基本组合规律电路的实现方法;
二,
试验原理
本试验中描述的是一个可综合的二选一开关,它的功能是当
sel = 0 时,给出 out = a ,
否就给出结果
out = b;在
HDL 中,描述组合规律经常使用
assign 结构;
Verilog
equal=(a==b).1:0 是一种在组合规律实现分支判定经常用的格式;
parameter 定义的 size
参数打算位宽; 测试模块用于检测模块设计的是否正确,
模块的内部信号和输出信号;
它给出模块的输入信号,
观看
三,
源代码
mux.v
module scale_mux(out,sel,b,a); parameter size=1;
output[size-1:0] out; input[size-1:0]b,a; input sel;
assign out = (.sel).a:
(sel).b:
{size{1bx}};
endmodule
mux_test.v
`define width 8
`timescale 1 ns/1 ns module mux_test;
reg[`width:1]a,b; wire[`width:1]out; reg sel;
scale_mux#(`width)m1(.out(out),.sel(sel),.b(b),.a(a)); initial
begin
$monitor($stime,,sel=%b a=%b b=%b out=%b,sel,a,b,out);
$dumpvars(2,mux_test); sel=0;b={`width{1b0}};a={`width{1b1}};
#5sel=0;b={`width{1b1}};a={`width{1b0}};
#5sel=1;b={`width{1b0}};a={`width{1b1}};
#5sel=1;b={`width{1b1}};a={`width{1b0}};
#5 $finish; end
endmodule
第 2 页,共 35 页
精品学习资料
名师归纳总结——欢迎下载
四,仿真结果与波形第 3 页,共 35 页
四,
仿真结果与波形
第 3 页,共 35 页
精品学习资料
名师归纳总结——欢迎下载
LAB 2 :简洁时序规律电路的设计一,试验目的把握基本时序规律电路的实现;二,在试验原理Verilog HDL中,相对于组合规律
LAB 2 :简洁时序规律电路的设计
一,
试验目的
把握基本时序规律电路的实现;
二,
在
试验原理
Verilog HDL
中,相对于组合规律电路,时序规律电路也有规定的表述方式;在可综
合的 Verilog HDL 模型中, 我们常使用
构来表述时序规律;
always 块和 @(posedge clk) 或 @(negedge clk)的结
在 always 块中,被赋值的信号都必需定义为
reg 型,这是由时序规律电路的特点所决
定的对于 reg 型数据,假如未对它进行赋值,仿真工具会认为它是不定态;为了正确地
观看到仿真结果,在可综合的模块中我们通常定义一个复位信号
对电路中的寄存器进行复位;
rst-,当它为低电平常
三,
源代码
counter.v
`timescale 1 ns/100 ps
module counter(cnt,clk,data,rst_,load); output[4:0]cnt ;
input [4:0]data;
input
input input reg
clk;
rst_; load;
[4:0]cnt;
always@(posedge clk or negedge rst_) if(.rst_)
#1.2 cnt=0;
else
if(load) cnt=#3 data; else
cnt=#4 cnt + 1;
endmodule
counter_test.v
`timescale 1 ns/1 ns module counter_test;
wire[4:0]cnt;
reg [4:0]data;
reg
reg reg
rst_;
load; clk;
counter c1
(
.cnt (cnt),
第 4 页,共 35 页
精
文档评论(0)