Académique Documents
Professionnel Documents
Culture Documents
8.1
8.2
Top-down vs Bottom-up design methodology. Proceed in a top-down fashion starting with a high level speci cation of the system to be designed. Develop a top level architecture block diagram. Determine speci cations of building blocks and interface among di erent blocks. Design building blocks by going down the hierarchy till you reach the most primitive blocks, i.e., combinational logic gates and ip- ops in this design environment. Design and thoroughly simulate the most basic blocks using the primitive components. Build next higher level blocks using the above basic blocks, simulating thoroughly at each level Bottom-up design process.
A Design Example: Digital Alarm Clock 8.3
8.4
To set time of day: Press Set Time push button switch and Push Hours switch to modify Hours display or Minutes switch to modify Minutes display. Release Set Time switch to continue normal operation. Each push of Hours or Minutes switch will increment the corresponding display by one. Hours and Minutes switches should not be operated at the same time. To set alarm time: Press Set Alarm and switch and use Hours and Minutes switches as mentioned above to set alarm time. Release Set Alarm switch. In order to turn-on the alarm push the Alarm on o switch once. Pushing it again will turn-o the alarm. Once the alarm goes o it can be shut only by pushing the Alarm on o switch.
A Design Example: Digital Alarm Clock 8.5
Overall Architecture
a Parts
There are two distinct components in this designa : a clock time circuit, and b alarm time circuit. These blocks generate data for hours, minutes and AM PM displays. There is no need to display alarm time all the time. It should be displayed only when alarm time is being set. At all other times clock time is displayed. This is achieved by multiplexing the data outputs from the clock time and alarm time circuits using Set Alarm as control input. Since the display devices are 7-Segment LED displays there is a need for either a binary-to-7-segment or a BCD-to-7-segment converter. A magnitude comparator is needed to compare the clock and alarm times and to generate a signal which can turn on an alarm ringer if the alarm was turned on earlier.
8.6
of this design are from the Synopsys VSS Family Tutorials, ver 3.3
AM/PM
Display Drivers
2 7 7 7
Multiplexer
Set Alarm
13
13
CLK
Comparator
Speaker
Alarm_on
8.7
CLK
TIME COUNTER
inc_m inc_s
8.8
Based on the status of set time input it generates input signals for the time counter. If set time is active it generates pulses on inc h or inc m line each time hrs. or mins. switch is pushed. In the normal mode, it sets inc s high so that the time counter counts the pulse on CLK input which has a frequency of 1 Hz.
set_time hrs mins inc_h inc_m inc_s 101 010
SET_MINS 01
101 000
SET_HRS
110 10 0
110 000
10
8.9
Q0
inc_h Q1 inc_m
Time Counter:
Input to the counter has a frequency of 1 Hz. To generate minutes output this input has to be divided by 60. This can be done by using a mod-60 counter or by using a mod-10 and a mod-6 counter with a ripple carry between them. To generate hours output the minutes output has to be divided by 60. Hours counter is a mod-13 counter whose output can be used to generate the AM PM signal. The mod-6 and mod-10 counters generate BCD output, whereas the mod-13 counter generates binary output which is converted to two BCD digits. AM PM signal is turned on or o each time hours count reaches 12. During the set time mode the minutes and hours counters are detached from their normal ripple carry inputs and are incremented by pulses on the inc m and inc h inputs.
8.11
am_pm
Hours 1 4
. . 13 MUX
Minutes 3
.6 .
4
. 10 . 1 pulse/minute
4
. . 10 1 pulse/second
CLK
1 pulse/hour
inc_h
inc_m set_time
inc_s
8.12
Q2
Q1
Q0
carry-out
MOD-6
clk
Q3
Q2
Q1
Q0
carry-out
clk
MOD-10
Qt0
Q3
Q2
Q1
Q0
carry-out
clk
MOD-13 (BCD)
cam_pm
chrs
cmins csecs
mod-13
mod-6
mod-10
mod-6
mod-10
CLK
8.17
101 01
SET_MINS 01
101 00
110 10
SET_HRS 10
110 00
8.18
Q0
inc_h Q1 inc_m
clk
ALARM_SM
Alarm Counter:
Alarm time counter circuit is a subset of the time counter circuit described earlier. It has a mod-60 minutes counter and a mod-13 hours counter. These counters receive their counting pulses from inc m and inc h inputs.
am_pm Hours 1 4
. 13 .
Minutes 3
.6 .
4
. 10 .
inc_h inc_m
8.20
aam_pm
ahrs
amins
mod-13
mod-6
mod-10
8.21
AM/PM
Hours
Minutes
set_alarm
8.22
BCD-to-7-SEGMENT DECODER
8.23
alarm time
clock time
COMPARATOR
equal
8.24
IDLE 0
WAKEUP 1
OSCILLATOR
Speaker Output
ring
8.25
equal
alarm_on/off
ring
speaker
alarm_on/off
clk
set_alarm
alarm_time
clock_time
MUX
"alarm-blk"
"time-blk"
alarm-sm alarm-ctr
time-sm
cam_pm
time-ctr
alarm_on/off osc_in
equal
ringer-sm
8.27