专用集成电路CMOS上机,verilog语言,modelsim软件仿真
更新时间:2024-01-15 18:59:01 阅读量: 教育文库 文档下载
- CMOS集成电路推荐度:
- 相关推荐
《专用集成电路设计基础》电路设计实验
实验1——简单状态机实验 (循环彩灯控制电路)
1、 电路功能
设计一套循环彩灯控制电路,要求:
(1) 共有16个彩色灯组,每只彩灯用一个控制信号控制器点亮和关闭(“1”——点
亮;“0”——关闭); 注:彩灯排放顺序
D E F 0 1 2 C 3 B 4 A 9 8 7 6 6
(2) 彩灯闪烁频率可以通过编程进行控制; (3) 彩灯闪烁顺序及图案可以进行修改。 2、 电路设计
采用Verilog HDL硬件描述语言进行,用ModelSim EDA软件进行仿真。
(1) 彩灯控制电路设计:
//***** ASIC Exercise - 1 ***** //*** Counter + Decoder ***
//*** can be used to control colour lamps *** //*** colour lamps arrangement *** //******************* //*** d e f 0 1 2 *** //*** c 3 *** //*** b 4 *** //*** a 9 8 7 6 5 *** //*******************
module exercise_1 (reset,clk,load,data_in,
lamp_ctl);
//* input/output ports definition * input reset,clk,load; input [3:0] data_in;
output [15:0] lamp_ctl; reg [15:0] lamp_ctl;
//* in-circuit signals definition * wire ena;
reg [3:0] cnt1,cnt2; reg [15:0] lamp;
//* circuit RTL description *
//* 4-bit mode-16 counter with sync_data load* //* used as freq_divider *
always @(posedge reset or posedge clk) if (reset)
cnt1 <= 4'b0000; else if (load)
cnt1 <= data_in;
else if (cnt1 == 4'b1111) cnt1 <= data_in; else
cnt1 <= cnt1 + 1'b1;
assign ena = &cnt1;
//* 4-bit mode-16 counter *
always @(posedge reset or posedge clk) if (reset)
cnt2 <= 4'b0000; else if (ena) begin
if (cnt2 == 4'b1111) cnt2 <= 4'b0000; else
cnt2 <= cnt2 + 1'b1; end
//* 4-16 decoder *
always @(reset or cnt2) begin
if (reset)
lamp = 16'h0000; else
case (cnt2)
4'b0000 : lamp = 16'b0000_0000_0000_0001; 4'b0001 : lamp = 16'b0000_0000_0000_0010; 4'b0010 : lamp = 16'b0000_0000_0000_0100; 4'b0011 : lamp = 16'b0000_0000_0000_1000; 4'b0100 : lamp = 16'b0000_0000_0001_0000; 4'b0101 : lamp = 16'b0000_0000_0010_0000; 4'b0110 : lamp = 16'b0000_0000_0100_0000; 4'b0111 : lamp = 16'b0000_0000_1000_0000; 4'b1000 : lamp = 16'b0000_0001_0000_0000; 4'b1001 : lamp = 16'b0000_0010_0000_0000; 4'b1010 : lamp = 16'b0000_0100_0000_0000; 4'b1011 : lamp = 16'b0000_1000_0000_0000; 4'b1100 : lamp = 16'b0001_0000_0000_0000; 4'b1101 : lamp = 16'b0010_0000_0000_0000; 4'b1110 : lamp = 16'b0100_0000_0000_0000; 4'b1111 : lamp = 16'b1000_0000_0000_0000; default : lamp = 16'b0000_0000_0000_0000; endcase end
//* latch the output control signal * always @(posedge reset or posedge clk) if (reset)
lamp_ctl <= 16'h0000; else
lamp_ctl <= lamp;
endmodule
(2) 测试向量设计:
//*** test bench ***
`timescale 1ns/1ps
module testbench ( );
//*** test signal definition *** reg t_reset,t_clk,t_load; reg [3:0] t_data_in; wire [15:0] lamp_show;
//*** test signal generation ***
//* t_reset *
//*** t_reset *** initial begin #0 t_reset = 1'b1; #2000 t_reset = 1'b0; end
//*** t_clk *** initial begin
t_clk = 1'b0; end
always #500 t_clk = ~t_clk;
//*** t_ena *** initial begin
#0 t_load = 1'b0; #2000 t_load = 1'b1; #3000 t_load = 1'b0; end
//* t_data_in * initial begin
#0 t_data_in = 4'b0000; #3000 t_data_in = 4'b1000; end
//*** connect with the circuit to be tested *** //*** use component instantiation statement ***
exercise_1 u0 (.reset(t_reset),.clk(t_clk),.load(t_load),.data_in(t_data_in), .lamp_ctl(lamp_show));
endmodule
3、 实验内容
(1) 详细分析实验电路的设计,明确电路结构及各个功能部件的功能,并在ModelSim
EDA软件环境下对其进行初步的仿真验证;
(2) 更改测试文件相关部分的数值,改变彩灯的闪烁频率(与系统时钟信号clk进行
比较);
(3) 将0?1?2?3?……?E?F的顺时针点亮方式更改为F?E?……?2?1?0的逆
时针点亮方式;
方法1:将彩灯点亮顺序计数器改变为递减计数模式;
方法2:你能想到采用其他什么样的电路改进方法吗?试一试!!!
(4) 改变彩灯的显示方式,使你的彩灯点亮的与众不同!大胆尝试吧!!!
4、 实验报告中需要解答的问题
(1) 根据对实验电路的分析,绘制出彩灯控制电路详细的电路结构框图,并对每一
功能部件的功能及相关参数的意义进行说明;
(2) 采用Verilog HDL硬件描述语言设计一个具有上电异步复位,同步复位、同步置
数及技术允许控制的4-Bit递增计数器;
(3) 在上面计数器电路的基础上,说明分别实现模-4、模-9及模-13计数的方式与方
法;
(4) 将题(2)中的计数器更改为4-bit递减计数器;
(5) 说明实验中彩灯闪烁方式是如何进行更改的?改进后彩灯的显示效果是什么?
正在阅读:
专用集成电路CMOS上机,verilog语言,modelsim软件仿真01-15
《昨日青空》观后感04-02
北京师范大学自然资源专业曹红斌、杜树山、孟繁蕴、王永炎、张文06-30
幼儿园组织与管理B卷10-28
论述中国21世纪战略主旋律-发展经济08-12
基础会计供应过程练习10-12
2018江苏泰兴黄桥中学初三三模物理试题05-19
桥梁拆除工程技术规程01-20
GW漆颜色中英对照-总表10-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 上机
- 集成电路
- 仿真
- modelsim
- 专用
- verilog
- 语言
- 软件
- CMOS
- 造气和变压吸附操作规程
- 第09章 刚体的平面运动(胡)
- 一年级看图写话图片及范文最新版实用版
- 天津课本数学二年级下册课本上所有的应用题及精选
- 闽建筑11号文补充定额
- 小学教学常规管理工作汇报材料
- SOSTAC模型
- 网络营销SOSTAC模型信息图分析
- 100测评网 - 期末测试A卷(人教版)小三数学下学期
- 外国文学史题库及答案
- 积极推进信息化建设,提升药具发放管理服务的智能化水平
- 安全员三类人员复习题
- 大工15秋《软件工程》大作业题目及要求答案 - 图文
- 疟疾防治知识能力测试题
- 2011普洱高中(中专)招生统一考试
- 测绘项目实施方案
- 部编本八年级上册第四单元作文指导:语言要连贯
- PLC盛蒂斯货梯快车调试
- 十年“文化大革命”及经验教训(下)测试
- 高考前数学特别提醒