亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? part3.txt

?? Thomas課本中的verilog例子。Thomas的verilog在可編程期間領域很有名
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
/*
Copyright -c- 1996, Kluwer Academic Publishers. All Rights Reserved.

This electronic text file is distributed by Kluwer Academic Publishers with
*ABSOLUTELY NO SUPPORT* and *NO WARRANTY* from Kluwer
Academic Publishers.

Use or reproduction of the information provided in this electronic text file for
commercial gain is strictly prohibited. Explicit permission is given for the
reproduction and use of this information in an instructional setting provided
proper reference is given to the original source. Kluwer Academic Publishers
shall not be liable for damage in connection with, or arising out of, the furnishing,
performance or use of this information.


>From the Authors:
This file contains support files for the floppy disk exercise in Chapter 9 of "The Verilog Hardware Description Language, Third Edition" by D. E. Thomas and 
P. R. Moorby. Note that corrections may have been made to the examples in this
file and thus they may differ from the examples in the book. Later printings of the
book will include these corrections.  This file contains the good and bad data files.  You'll
need to save them to different files.
-always
DT, PM
*/
//  simulation interface module
//  by Tom Martin, February, 1995 
//  for 18-360 project 1.
//  
//  This module should be listed first on the command line, so that
//  the timescale directive will apply to all other modules, i.e.,
//  verilog simint.v blah1.v blah2.v blah3.v
//  
//  I think the simulator will die if the timescale directive is not
//  in the first module, but is in later ones.

`timescale      10 ns/1 ns
  
module simint(go, count, done, err);
output go;
output [3:0] count;
reg go;
reg [3:0] count;
input done, err; 

initial begin
go = 0;
count = 0;
end

endmodule
Last modified:3/6/95, by Tom Martin

The files in this directory are for the 18-360 Intro. to CAD project 1.

Name Description
-------------------------------------------------------------------------
memory.v Verilog module for the 512 bytes of memory and the
memory bus controller.    Note that a useful feature
of memory.v is that the entire contents of the memory
can be displayed on the postive edge of 'debug'.  

correct0.v Verilog module for 10 sectors of a disk.  Uses the file
good.dat as input.  All 10 sectors of the disk are error
free.  

error0.v Verilog module for 10 sectors of a disk.  Uses the file
bad.dat as input.  Sectors 0, 1, 2 have errors in them;
sectors 3-9 are correct

simint.v Simulation interface module.  Used to start the simulation
and see when it is done.  This probably isn't
necessary--just have the top level of the design
connect to the go, sector count, done, and error
signals of Wait.  Contains the timescale directive
which sets the time units for the whole simulation.
simint.v should be the first module listed on the
command line in order to avoid compilation errors,
i.e.  verilog simint.v blah1.v blah2.v


Comments
----------------------------------------------------------------------------

3/3/95 Removed the timescale directives from memory.v,
correct0.v, and error0.v.  Simint.v now sets the 
time scale for the whole simulation (10ns/1ns).  
Modified the clock definition in correct0.v and error0.v
to account for the change in the time scale.

3/6/95 Simint.v modified so that count is a 4 bit number
instead of a 3 bit number.  Thanks to Edith and the Chinman
for pointing out that you can't count to 10 with 3
bits...

3/7/95  Memory.v modified so that the address bits could address
477 bytes of memory.  Variable a was changed from 8 bits
to 9 bits.

3/10/95 Replaced the protected versions of correct0.v, error0.v,
and memory.v with their unprotected source, so that the
Cadence debugger can be used with the files.
//  disk module with correct data
//  by Tom Martin, February 1995
//  for 18-360.

`define P 400 // period is 4 us...

module disk(idx, rddata);
output idx, rddata;


reg [7:0] disk[0:5119];  // the 10 sectors of the disk
reg idx, rddata;

integer sector, byte, bit;
reg [7:0] tmp;

initial begin
idx = 0;
rddata = 0;
$readmemh("good.dat", disk);  
end 

//  set up the clock in rddata
`protect
always begin
#(`P/8) rddata = 1;   // these will have to change later
#(`P/8) rddata = 0;   // to have some randomness
#(`P*0.75);
end
`endprotect

// set up idx
`protect
always begin
#(`P/8) idx = 1;
#(`P*8) idx = 0;
#(4087.875*`P) ;
end
`endprotect

// and put the data in rddata.
`protect
always begin
for (sector=0; sector < 10; sector = sector + 1 ) 
begin
for (byte=0; byte < 512; byte = byte + 1) 
begin
tmp = disk[sector*512 + byte];
for (bit = 0; bit < 8; bit = bit + 1)
begin
@(posedge rddata);
if ( tmp[bit] ) 
begin
#(`P/2);
rddata = 1;
#(`P/8);
rddata = 0; 
end
end
end
end
end
`endprotect
endmodule
//  disk module with correct data
//  by Tom Martin, February 1995
//  for 18-360.

//  this particular module has a clock with ramping jitter

`define P 400 // period is 4 us...

module disk(idx, rddata);
output idx, rddata;


reg [7:0] disk[0:5119];  // the 10 sectors of the disk
reg idx, rddata;

integer sector, byte, bit, z;
integer ramp, flag;

//  for testing random rddata clock
//  integer ave, count, max;

reg [7:0] tmp;
file://reg [3:0] ran;
file://reg [3:0] ran2;

initial begin
idx = 0;
rddata = 0;

// ave = 0 ;
// max = 0;
// count = 0;
ramp = 0;
flag = 1;
// z = 1;

$readmemh("good.dat", disk);  
// ran =  $random(z);

end 

//  set up the clock in rddata
`protect
always begin
#(`P/8) rddata = 1;   // these will have to change later
#(`P/8) rddata = 0;   // to have some randomness
#(`P*0.7 + ramp); // delay between 280 and 
     // 320 counts--2.8 and 3.2us
if (ramp == 40) 
flag = -1;
if (ramp == 0) 
flag = 1;
if (flag == 1)
ramp = ramp + 1;
else 
ramp = ramp - 1;
// ave = `P*0.7 +  ramp;
// $monitor($time,, ave);
end
`endprotect

// set up idx
`protect
always begin
#(`P/8) idx = 1;
#(`P*8) idx = 0;
#(4087.875*`P) ;  // pulses per sector = 4096
end
`endprotect

// and put the data in rddata.
`protect
always begin
for (sector=0; sector < 10; sector = sector + 1 ) 
begin
for (byte=0; byte < 512; byte = byte + 1) 
begin
tmp = disk[sector*512 + byte];
for (bit = 0; bit < 8; bit = bit + 1)
begin
@(posedge rddata);
if ( tmp[bit] ) 
begin
#(0.5*(`P*0.7 + ramp+ `P/8));
// need to change this delay later to account for randomness
rddata = 1;
#(`P/8);
rddata = 0; 
end
end
end
end
end
`endprotect
endmodule
//  disk module with correct data
//  by Tom Martin, February 1995
//  for 18-360.

`define P 400 // period is 4 us...

module disk(idx, rddata);
output idx, rddata;


reg [7:0] disk[0:5119];  // the 10 sectors of the disk
reg idx, rddata;

integer sector, byte, bit;
reg [7:0] tmp;

initial begin
idx = 0;
rddata = 0;
$readmemh("bad.dat", disk);  
end 

//  set up the clock in rddata
`protect
always begin
#(`P/8) rddata = 1;   // these will have to change later
#(`P/8) rddata = 0;   // to have some randomness
#(`P*0.75);
end
`endprotect

// set up idx
`protect
always begin
#(`P/8) idx = 1;
#(`P*8) idx = 0;
#(4087.875*`P) ;
end
`endprotect

// and put the data in rddata.
`protect
always begin
for (sector=0; sector < 10; sector = sector + 1 ) 
begin
for (byte=0; byte < 512; byte = byte + 1) 
begin
tmp = disk[sector*512 + byte];
for (bit = 0; bit < 8; bit = bit + 1)
begin
@(posedge rddata);
if ( tmp[bit] ) 
begin
#(`P/2);
rddata = 1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国产免费观看| 成人性视频网站| 亚洲国产成人自拍| 欧美在线观看视频在线| 精品一区二区免费视频| 亚洲综合视频网| 国产清纯白嫩初高生在线观看91| 欧美三级中文字幕| 成人久久视频在线观看| 免费久久精品视频| 亚洲乱码国产乱码精品精98午夜| 欧美xingq一区二区| 欧美丝袜丝nylons| 91网站最新网址| 高清国产一区二区三区| 麻豆极品一区二区三区| 亚洲电影视频在线| 亚洲人成电影网站色mp4| 久久九九久精品国产免费直播| 制服丝袜日韩国产| 欧美三级视频在线观看| 色猫猫国产区一区二在线视频| 日本韩国欧美国产| 国产成人啪午夜精品网站男同| 欧美aaaaaa午夜精品| 午夜久久久久久| 一区二区三区高清| 亚洲人成网站影音先锋播放| 国产精品女主播av| 国产拍欧美日韩视频二区| 精品久久久久久久久久久久久久久久久| 欧美日韩精品一区二区三区四区 | 国产精品看片你懂得| 精品免费视频.| 日韩一区二区免费在线观看| 3d动漫精品啪啪1区2区免费 | 欧美视频精品在线| 色婷婷一区二区| 色狠狠综合天天综合综合| 成人app网站| 97精品久久久午夜一区二区三区| 成人性生交大片| 成人免费视频一区二区| 成人不卡免费av| 成人av网站在线| 99国产精品国产精品毛片| 不卡的av中国片| 色综合天天综合| 在线观看www91| 欧美日韩国产首页在线观看| 欧美肥胖老妇做爰| 日韩一区二区免费在线观看| 日韩免费观看高清完整版 | 国产不卡在线一区| 大美女一区二区三区| 成人国产一区二区三区精品| 99精品久久只有精品| 色拍拍在线精品视频8848| 欧美在线啊v一区| 欧美精品久久久久久久久老牛影院| 欧美老肥妇做.爰bbww视频| 日韩三级av在线播放| 日韩欧美你懂的| 国产色91在线| 亚洲免费观看高清完整版在线观看 | 91精品国产综合久久福利| 欧美一个色资源| 久久久久亚洲蜜桃| 亚洲日本青草视频在线怡红院| 亚洲高清在线精品| 国产一区二区毛片| 色菇凉天天综合网| 91精品国产欧美一区二区| 久久久精品蜜桃| 亚洲国产日韩a在线播放性色| 久久爱另类一区二区小说| 不卡的电影网站| 欧美日韩国产另类一区| 欧美精品一区二区三区很污很色的 | 欧美一区二区精品在线| 国产精品视频yy9299一区| 亚洲亚洲精品在线观看| 久久99国产精品麻豆| 色一情一伦一子一伦一区| 欧美一区二区三区影视| 国产精品福利一区| 三级久久三级久久| 成人影视亚洲图片在线| 欧美一级黄色录像| 亚洲欧洲性图库| 精一区二区三区| 在线观看日韩一区| 国产性做久久久久久| 丝袜诱惑亚洲看片| 91网上在线视频| 日韩免费视频一区| 亚洲尤物视频在线| 国产成人高清视频| 91精品国产综合久久精品| 国产精品国产三级国产普通话蜜臀| 亚洲成人午夜影院| 成人高清在线视频| 精品国产免费视频| 午夜精品视频在线观看| 99久久久免费精品国产一区二区| 日韩亚洲欧美成人一区| 一区二区三区鲁丝不卡| 国产成人在线视频播放| 日韩欧美激情四射| 亚洲在线一区二区三区| 成人禁用看黄a在线| 久久亚洲一级片| 青青青伊人色综合久久| 欧美日韩一二区| 亚洲人成7777| 成人教育av在线| 国产夜色精品一区二区av| 麻豆成人91精品二区三区| 欧美日产在线观看| 一区二区三区欧美日韩| 99麻豆久久久国产精品免费| 国产欧美一区在线| 国产精品一区二区三区99| 欧美一卡在线观看| 日本中文一区二区三区| 欧美性色aⅴ视频一区日韩精品| 亚洲三级电影网站| 91在线视频网址| 国产精品福利av| 99久久久久久| 亚洲欧美日韩小说| 日本韩国欧美一区二区三区| 亚洲欧美激情插| 色综合视频一区二区三区高清| 国产精品高潮久久久久无| 成人国产精品免费| 国产精品国产自产拍高清av王其| 成人永久免费视频| 最近日韩中文字幕| 91麻豆国产福利在线观看| 一区二区成人在线视频| 欧美日韩一区二区三区高清| 亚洲一卡二卡三卡四卡五卡| 在线观看www91| 五月天久久比比资源色| 欧美剧情电影在线观看完整版免费励志电影 | 一本色道久久加勒比精品 | 国产一二精品视频| 久久新电视剧免费观看| 国产麻豆9l精品三级站| 国产欧美日韩另类一区| av男人天堂一区| 亚洲一级二级三级在线免费观看| 欧美午夜在线观看| 蜜臀91精品一区二区三区| 精品999在线播放| 成人国产亚洲欧美成人综合网| 亚洲视频图片小说| 欧美日韩亚洲高清一区二区| 美女国产一区二区三区| 久久这里只有精品视频网| 成人视屏免费看| 亚洲主播在线观看| 欧美va亚洲va香蕉在线| 国产不卡在线播放| 亚洲精品乱码久久久久| 欧美精品乱码久久久久久按摩| 国产资源精品在线观看| 国产精品第13页| 欧美精品一级二级| 国产成人av一区二区三区在线 | 久久久久亚洲综合| 91蝌蚪porny| 日韩高清不卡在线| 国产片一区二区| 欧美在线高清视频| 国产原创一区二区| 亚洲精品国产a| 欧美大胆人体bbbb| 91亚洲精华国产精华精华液| 午夜久久久久久| 国产精品日韩成人| 欧美男男青年gay1069videost | 色综合天天天天做夜夜夜夜做| 日韩精品亚洲一区二区三区免费| 久久五月婷婷丁香社区| 91精品办公室少妇高潮对白| 六月婷婷色综合| 曰韩精品一区二区| 久久综合九色综合97_久久久| 91久久精品网| 国产精品性做久久久久久| 亚洲国产毛片aaaaa无费看| 国产香蕉久久精品综合网| 欧美日韩午夜精品| 91丨porny丨中文| 国内精品久久久久影院色| 亚洲成人中文在线| 亚洲少妇屁股交4| 久久久美女毛片|