找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2516|回复: 8
打印 上一主题 下一主题

testbench如何产生27MHz的时钟

[复制链接]

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
跳转到指定楼层
1#
发表于 2013-5-9 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 schx 于 2013-5-9 21:38 编辑 & L; w8 V6 r* h' |4 }/ _  U% o

' U' @2 n" `7 `如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。
* E* B: y4 T. m; Y5 G% i; I最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。; }5 e" X* ?3 M0 {7 @7 `+ e- s
' Z$ U, D, M0 M- I
由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。, i3 w# y; P" l/ U: _. Q

2 \# L) u/ F' N6 c/ _4 F$ vreg [9:0] rand_data;& S/ N1 }$ i  c8 @, L) @- ~. @3 y0 I

/ q/ c  t6 p  F3 ]. l+ Nrand_data={$random}%1024;) E' b/ ^) C" Y- ]/ \
这样可以吗?6 \; h" k' s, `3 [9 a1 J

$ d: G! c  O+ s/ U小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑 ; ^; k+ C2 |6 \0 {' H0 s" ?

/ K4 ^* V" |: a. `7 C$ _) c+ U2 o4 }`timescale 1ns/1ps- A1 w& D# }9 y7 c( W5 k! @% Q* y& x+ m

7 x% n8 n* C0 Xmodule fifo_top_tb();
; G& z4 [* r' M& P  Z1 A    reg clk;
. F2 `; K$ K! I# w* p: l8 w    reg rst;' s  q' z1 U' _, e
    reg wr_en;
, L3 [2 e# R+ |" }7 X    reg rd_en;7 ?9 R2 F7 t0 ~1 `
    reg [7:0]data_in;0 z- C- |% ]. s4 m& b
    wire [7:0]data_out;
! k; T! \( S( ?6 z    5 d0 Q1 l% l  m2 y& I
fifo_syn_top myfifo(.clk(clk),
3 x4 t$ k  t( k3 F* S                    .rst(rst),3 z& J1 q# @* H" B! x  U# d
                    .wr_en(wr_en),
5 V( c4 q9 O9 ~0 Q9 P8 F+ ^                    .rd_en(rd_en),, `" T( R) {& R- A
                    .data_in(data_in),3 b2 `) u* V+ ?2 B+ S
                    .data_out(data_out));
7 s% [. f) n7 U  f8 v" minteger i,j;
' [$ H- X' e4 e3 Xparameter T = 18.518;& ?. M1 p2 H: {! P- M, A" W
always2 h0 r# H  [8 [2 J% R! k
begin
8 M( K$ U( k9 g( R9 A& [        clk=0;  X. b. d8 {7 Q/ W$ a. K
        #T ;
3 A  K5 p! z! Z" R        clk=1;
  N. q1 S; ?# f) x5 H. }3 V  }' k        #T ;
9 m. D0 m6 d" k7 {4 n2 Oend
( u; A! U5 N% {% R$ ]3 P6 m- {' F6 \. t2 m/ y9 s% v: d4 g
initial! K+ j7 @$ P+ T6 p1 F) s1 u
  begin: k5 o0 T( x; M$ w
    clk=0;
4 N( k: K- \: R. l( D" I8 J    rst=0;( P# E8 Y, ]7 ^+ c0 E( R4 v6 ^- |  }
    wr_en=1;
* X% w, Z* _0 \1 n' F/ w1 x: i    rd_en=0;
7 K: A# Q3 E' o0 A6 V    #20 data_in[7:0]=8'b11111111;
: E: i4 k" I0 ^- E    #200 rst=1;
- B1 U% N- w& e' n& x4 k( [4 F0 }    wr_en=1;' ^0 ]0 W: H) Z0 T
    rd_en=0;, j5 X" X" l- m6 P
     repeat(10)' M" C/ S* `) m! }) S+ n
      begin- i* w$ q1 u) k
        #100 data_in[7:0]=$random;          5 d) {8 W; j4 c/ h% P7 O
      end- S9 K2 G& h% r) k- C
    #6400 wr_en=0;
% m- r% _% j7 ?  C" c    #10 rd_en=1;
: _4 ^% |" H- O         #6400  $stop;  f: ?- N/ e4 c  z
  end
0 q3 V6 `* e) L" M1 {5 ?  
  S# `$ \$ V, s9 X( Zendmodule  
' t2 ]' Y" F, @* B/ P4 ?0 w" `% n" V" Z0 b, B) R
6 S  p5 H1 U8 Q. N

- H' A" l) G2 L' e* N楼主 你难道要 1ns/1fs    ?   这样?
  e8 B" [; b8 ~4 D2 i: S
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31
3 t% _% O' }6 h; e2 {0 t`timescale 1ns/1ps; V' C) c! K* P# h  J- e5 r
: H! `) D% b& R2 N
module fifo_top_tb();

9 ]1 R. Z% ~0 z; }* N: v1 g嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12
  I8 l1 X" ~1 ?* @+ f* p( [! e3 k$ K% N嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...

1 ?+ v3 N4 H- v+ D我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21 - ]2 Z8 B. H+ Y& y
我也是菜鸟,多自己看的,现在找到工作了?
$ k6 R- P& n% t  p
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00 - u( e/ A* r- I7 I+ M. Y$ P% J: {; g
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。
& A8 I! b, Q5 F7 F; j& Z
哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22
$ g6 K0 h: o8 d  V' I4 ?& L哈,是FPGA的嘛?

4 t, K2 Q, g& E& ?嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45
' l& l# Y" M- \3 h8 `" P, ~3 I嗯,硬件和fpga都做。

1 s( V! w( H3 I恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧
$ ]; N" T) ]1 b: T1 h- }`timescale 1ns / 1ps- y& \# ^9 }* b' b* ^% O. A
+ a+ E) @, p  h% T- u3 g4 t
module test;
6 ?- `% p6 G0 c2 C8 e, \
7 @- Z. W  E" R) h  }- C2 `parameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期4 c& o# _2 u* Q2 O
reg sys_clk;
- ~+ e& L$ O% ]/ X; n6 ireg reset;" A, i2 V8 b+ v6 V. L* y; U  {
initial begin
0 Z0 X5 m7 B/ y( k+ S  sys_clk = 0;2 B: m9 \( o4 G2 H2 k* }) g
  reset = 0;/ K4 n) K/ T# U
  #10 reset = 1;
. z/ l2 }! d6 c8 K, @+ o/ `  #100 reset =0;1 A+ c+ z9 H8 `- H! n4 O( d: K$ y3 _
end5 d. ^! e0 h6 X  B
// 产生27mhz时钟- n" G/ g% L/ R5 h/ E, j
always #(CLK_PERIOD/2) sys_clk = ~sysclk;
; B9 ?' l' L5 U+ Q0 ~1 Y! X: M, b4 ~
7 F- Y" K, b$ M% e- C2 F1 Xreg [9:0] rand_data;( c5 }0 n+ T/ v1 m

0 r* q* S) f! halways @ (posedge sys_clk) begin
: H# I( U4 U" Z/ J  if(reset); L  P2 _" m3 F1 Q$ r  i! e
    rand_data <= 0;2 f  X4 p* f2 S. z0 X! z* x$ T
  else
1 \! R9 Y/ y% r* I2 C& c    rand_data <= $random;+ i# V8 m9 G% i! @3 O2 P: A
end
; E( H2 `8 [: t4 w' W3 `7 g4 }" Aendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-5-24 09:58 , Processed in 0.074033 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表