2011年8月2日

2时序逻辑电路--移位寄存器

摘要: 2.3.1 自动右移寄存器 信号由s_in进入8位寄存器最高位,寄存器最低位由s_out输出,代码如下View Code 1 module free_run_shift 2 ( 3 input clk, 4 input rst_n, 5 input s_in, 6 output s_out 7 ); 8 9 reg [7:0] r_reg;//现态寄存器10 wire [7:0] r_next;//次态寄存器11 12 always @(posedge clk or negedge rst_n)//时钟上升沿将次态寄存器值赋给现态寄存器,更新数据13 if(!rst_n)14 r_reg< 阅读全文

posted @ 2011-08-02 18:42 万好好 阅读(688) 评论(0) 推荐(0) 编辑

2时序逻辑电路--寄存器

摘要: 2.2.1寄存器 寄存器是D触发器集合,不过其有位宽,将前述D触发器语句改为 input D;outpu Q;改为input [7:0]D;outpu[7:0] Q;即构成一个8b的异步复位寄存器。2.2.2寄存器文件 将寄存器以数组整合起来,并加上输入地址,输出地址,即构成可临时快速数据存储的寄存器文件。示例代码View Code 1 module reg_file 2 #( 3 parameter B=8, 4 parameter W=2 5 ) 6 ( 7 input clk, 8 input wr_en, 9 input [W-1:0] w_addr,10 input [W-1:0] 阅读全文

posted @ 2011-08-02 15:42 万好好 阅读(543) 评论(0) 推荐(0) 编辑

2时序逻辑电路--触发器与锁存器

摘要: 2.1.1同步复位D触发器复位信号在所需时钟边沿才有效,复位操作需要同步于时钟故称作同步复位。代码如下View Code 1 module d_ff 2 ( 3 input clk, 4 input rst_n, 5 input D, 6 output reg Q, 7 output O_n 8 ); 9 10 always @(posedge clk)11 if(!rst_n)Q<=1'b0;12 else Q<=D;13 14 assign Q_n=~Q;15 16 endmodule RTL级视图Technology Map Viewer视图如下2.1.2 异步复位D 阅读全文

posted @ 2011-08-02 12:03 万好好 阅读(1844) 评论(0) 推荐(0) 编辑

2011年8月1日

1组合逻辑电路--算术运算电路

摘要: 1.4.1 +、-、*、/、%电路(1)加法电路:每1位大约消耗1个LE,示例代码如下View Code 1 module arithmetic 2 ( 3 input [7:0] iA, 4 input [7:0] iB, 5 output [8:0] oAdd 6 ); 7 8 assign oAdd=iA+iB; 9 10 endmodule RTL级视图如下testbench如下View Code 1 `timescale 1ns/1ns 2 module arithmetic_tb; 3 4 reg [7:0] ia=8'b1011_0111; 5 reg [7:0] ib= 阅读全文

posted @ 2011-08-01 18:24 万好好 阅读(955) 评论(0) 推荐(0) 编辑

1组合逻辑电路--编码器和译码器

摘要: 1.3.1 编码器4输入2输出编码器代码如下View Code 1 module encoder 2 ( 3 input [3:0] iA, 4 output reg [1:0] oQ 5 ); 6 7 always @(*) 8 begin 9 oQ=2'b00;10 case(iA)11 4'b0001:oQ=2'b00;12 4'b0010:oQ=2'b01;13 4'b0100:oQ=2'b10;14 4'b1000:oQ=2'b11;15 default :;16 endcase 17 end18 19 endm 阅读全文

posted @ 2011-08-01 16:18 万好好 阅读(1003) 评论(0) 推荐(0) 编辑

1组合逻辑电路--多路选择器与多路分解器

摘要: 1.2多路选择器1.2.1不带优先级的多路选择器四路选择器如下代码如下View Code 1 module multiplexer 2 ( 3 input iA, 4 input iB, 5 input iC, 6 input iD, 7 input [1:0] iSel, 8 output reg oQ 9 );10 11 always @(*)12 begin13 case(iSel)14 2'b00 : oQ=iA;15 2'b01 : oQ=iB;16 2'b10 : oQ=iC;17 2'b11 : oQ=iD;18 endcase 19 end20 阅读全文

posted @ 2011-08-01 15:25 万好好 阅读(1023) 评论(0) 推荐(0) 编辑

2011年7月31日

1组合逻辑电路--基本门电路

摘要: 1.1基本门电路1.1.1结构化描述方式代码如下View Code 1 module logics 2 ( 3 input iA, 4 input iB, 5 output oAnd, 6 output oOr, 7 output oNot 8 ); 9 10 and and_inst(oAnd,iA,iB);11 or or_inst(oOr,iA,iB);12 not not_inst(oNot,iA);13 14 endmodule 最底层的是门级原语and or notRTL级视图testbench如下View Code 1 `timescale 1 ns/ 1 ns 2 module 阅读全文

posted @ 2011-07-31 22:02 万好好 阅读(696) 评论(0) 推荐(1) 编辑

ASCII与汉字编码方法

摘要: 一、基础知识内码:国标码规定,每个汉字(包括非汉字的一些符号)由2字节代码表示。每个字节的最高位为0,只使用低7位,而低7位的编码中又有34个适用于控制用的,这样每个字节只有27 - 34 = 94个编码用于汉字。2个字节就有94 94=8836个汉字编码。在表示一个汉字的2个字节中,高字节对应编码表中的行号,称为区号;低字节对应编码表中的列号,称为位号。 ASCII字符:1Byte表示一个字符。二、两种编码方法,见头文件GB1616.hView Code 1 // ------------------ 汉字字模的数据结构定义 ------------------------ // 2 str 阅读全文

posted @ 2011-07-31 16:04 万好好 阅读(5125) 评论(0) 推荐(0) 编辑

2011年7月29日

MSP430F5438时钟系统

摘要: 1、 概述 Unified clock system(ucs)统一时钟系统。MSP430F5438有5个时钟源:XT1,XT2,REFCLO,VLCLO,DCO.外部LF(XT1一般为32.768K),可以接时钟晶振,也可接4M-32M的外部时钟源。XT1可作为锁频环的参考时钟源。HF(XT2一般为8M),晶振连接引脚为P5.2,P5.3,使用此晶振时要打开这两个引脚的第二功能。XT2可作为锁频环的参考时钟源。从时钟系统模块可得到三种时钟信号:MCLK,SMCLK,ACLK。P11.0-P11.2第二功能对于时钟输出。 2、 使用方法概述1、设置接晶振的引脚为第二功能。2、设置寄存器打开寄存器 阅读全文

posted @ 2011-07-29 16:11 万好好 阅读(3595) 评论(0) 推荐(1) 编辑

2011年7月25日

基于T型电阻网络的DA分析

摘要: 一、DA芯片电路简易分析电路示意图:分析:由图可知,运放两个输入端为“虚地”,所以电位都约为0。所以无论开关在0或者1,最后两个2R都是并联得R,和电阻R串联又为2R,以此类推,那么到最前端,相当于两个2R的电阻并联,可知电流I=Vref/R。I7=I/2,I6=1/2*I/2,由此追溯到I0=I/256,如果Rfb=R,那么V0只与Vref有关,即V0=Vref*z/256。二、自制8位DA2.1电路图2.2 原理分析利用电压叠加定理和电阻分压可计算分析。1、Vp8接1(VCC),Vp1-Vp7接0(GND),电路可简化如下。显然Vout=1/2*Vp82、Vp7接1(VCC),其余接0(G 阅读全文

posted @ 2011-07-25 11:30 万好好 阅读(4184) 评论(0) 推荐(0) 编辑

导航